내 질문에 대한 답변을 얻고 결과에 대한 조사를 한 후 모든 것을 잘 설명하는 기사를 찾았습니다. 나중에 참조 할 수 있도록이 기사의 일부를 공유하고 싶습니다.
권한보기
chmod
파일 또는 디렉토리의 권한을 변경하는 데 사용 하려면 먼저 현재 액세스 모드가 무엇인지 알아야합니다. 터미널에서 디렉토리의 내용 cd
을 해당 디렉토리로보고 다음을 사용할 수 있습니다.
$ ls -l
-l
사용하기 때문에 스위치는 중요 ls
없이 것은 단지 디렉토리에있는 파일이나 폴더의 이름을 표시합니다.
아래는 ls -l
내 홈 디렉토리 에서 사용하는 예입니다 .
total 128
drwxr-xr-x 2 peter users 4096 Jul 5 21:03 Desktop
drwxr-xr-x 6 peter users 4096 Jul 5 17:37 Documents
drwxr-xr-x 2 peter users 4096 Jul 5 13:45 Downloads
drwxr-xr-x 2 peter users 4096 Jun 24 03:36 Movies
drwxr-xr-x 2 peter users 4096 Jun 24 03:38 Music
drwxr-xr-x 2 peter users 4096 Jun 26 00:09 Pictures
-rw-r--r-- 1 peter users 354 Jul 6 17:15 chmodtest
열의 의미
첫 번째 열은 각 파일의 유형입니다.
-
일반 파일을 나타냅니다.
d
는 디렉토리, 즉 다른 파일 또는 폴더를 포함하는 폴더를 나타냅니다.
p
명명 된 파이프 (일명 FIFO)를 나타냅니다.
l
기호 링크를 나타냅니다.
그 후의 글자는 권한이며,이 첫 번째 열은 우리가 가장 관심을 가질 것입니다. 두 번째는 파일에 몇 개의 링크가 있는지, 안전하게 무시할 수 있습니다. 세 번째 열에는 두 개의 값 / 이름이 있습니다. 첫 번째 열 (예 : 'peter')은 파일을 소유 한 사용자의 이름입니다. 두 번째 값 (예에서 'users')은 소유자가 속한 그룹입니다 (그룹에 대해 자세히 알아보기).
다음 열은 파일 또는 디렉토리의 크기 (바이트)와 그 이후의 정보는 파일 또는 디렉토리가 마지막으로 수정 된 날짜 및 시간이며 물론 파일 또는 디렉토리의 이름입니다.
권한의 의미
첫 번째 -
또는의 뒤에있는 첫 세 글자 d
는 소유자가 가진 권한입니다. 다음 세 글자는 그룹에 적용되는 권한입니다. 마지막 세 글자는 다른 모든 사람에게 적용되는 권한입니다.
세 글자의 각 세트는 r
w
및로 구성 x
됩니다. r
항상 첫 번째 위치에 w
있고 항상 두 번째 위치에 있으며 x
항상 세 번째 위치에 있습니다. r
읽기 권한, w
쓰기 권한 및 x
실행 권한입니다. -
이 문자 중 하나 대신 하이픈 ( ) 이 있으면 권한이 부여되지 않았으며 문자가 있으면 해당 권한이 부여 된 것입니다.
폴더
폴더의 경우 모드 비트는 다음과 같이 해석 될 수 있습니다.
r
(읽기)는 주어진 디렉토리의 목차를 읽는 기능을 나타냅니다.
w
(쓰기)는 실행 비트가 설정된 경우에만 지정된 디렉토리의 목차를 쓸 수있는 기능을 나타냅니다 (새 파일, 폴더 생성, 이름 바꾸기, 기존 파일, 폴더 삭제). 그렇지 않으면이 권한은 의미가 없습니다.
x
(실행)은 명령 cd를 사용하여 지정된 디렉토리에 들어가서 해당 디렉토리의 파일, 폴더에 액세스하는 기능을 나타냅니다.
chmod 명령을 사용하여 권한 변경
chmod
Linux 및 기타 유닉스 계열 운영 체제의 명령입니다. 파일 또는 디렉토리의 권한 (또는 액세스 모드)을 변경할 수 있습니다.
다음 두 가지 방법으로 권한을 변경할 수 있습니다.-텍스트 기반 chmod
-숫자 기반chmod
텍스트 방법
파일의 권한 또는 액세스 모드를 변경하기 위해 터미널에서 chmod 명령을 사용합니다. 다음은 명령의 일반적인 구조입니다.
chmod who=permissions filename
누가 편지의 범위에서 누구이며, 각각은 당신이 허락 할 사람을 나타냅니다. 다음과 같습니다.
u - The user that owns the file.
g - The group the file belongs to.
o - The other users i.e. everyone else.
a - all of the above - use this instead of having to type ugo.
이미 논의 된 바와 같이 권한이 동일 ( r
, w
및 x
).
chmod 명령을 사용하면 = 대신 + 또는-를 사용하여 기존 세트에서 권한을 추가하고 뺄 수 있습니다. 이것은 본질적으로 권한을 다시 쓰기 위의 명령에 다른 (즉로부터 권한을 변경 r--
에 rw-
여전히 포함해야합니다, r
뿐만 아니라 w
애프터 =
에서 chmod
명령. 당신이 놓친 경우 r
, 그것은 멀리 걸릴 것 r
같은 권한을 +와-를 사용하여 현재 권한 세트를 추가하거나 제거하여 이것을 피하십시오).
번호 방법
chmod
숫자를 사용하여 권한을 설정할 수도 있습니다.
숫자를 사용하면 세 소유자, 그룹 및 다른 사람의 권한을 동시에 편집 할 수있는 또 다른 방법이 있습니다. 이 코드의 기본 구조는 다음과 같습니다.
chmod xxx file/directory
여기서 xxx는 각 숫자가 1에서 7까지의 3 자리 숫자입니다. 첫 번째 숫자는 소유자의 권한에 적용되고 두 번째 숫자는 그룹의 권한에 적용되며 세 번째 숫자는 다른 모든 권한에 적용됩니다.
이 숫자 표기법에서 값 r, w 및 x는 고유 한 숫자 값을 갖습니다.
r=4
w=2
x=1
세 자리 숫자를 찾으려면 소유자, 그룹 및 사용자에게 부여 할 권한을 고려한 다음 해당 값을 합산해야합니다. 예를 들어, 디렉토리 소유자에게 읽기-쓰기 및 실행 권한을 부여하고 그룹 및 다른 모든 사용자에게 읽기 및 실행 권한을 부여하려고한다고 가정합니다. 다음과 같은 숫자 값을 생각해 냈습니다.
Owner: rwx = 4+2+1=7
Group: r-x = 4+0+1=5 (or just 4+1=5)
Other: r-x = 4+0+1=5 (or just 4+1=5)
Final number = 755
$ chmod 755 filename
이것은 다음을 사용하는 것과 같습니다.
chmod u=rwx filename
chmod go=rx filename
대부분의 폴더 / 디렉토리는 소유자에 대한 읽기 및 쓰기 및 실행을 허용하기 위해 755로 설정되어 있지만 다른 사람에 대한 쓰기는 거부하고 파일은 일반적으로 소유자에 대한 읽기 및 쓰기는 허용하지만 다른 사람은 읽을 수 있도록 644입니다. 실행 파일이 아닌 파일에 x 권한이 없다는 점에 유의하십시오.