유닉스 파일 권한

유닉스 파일 권한

터미널을 통해 일부 폴더에 대한 권한을 살펴보고 있는데 그 의미가 무엇인지 잘 모르겠습니다.

iMac:~ me$ ls -alt
total 40
drwx------   4 me  staff   136 10 Oct 06:17 .Trash
drwx------+  4 me  staff   136 10 Oct 06:16 Desktop
drwxr-xr-x   6 me  staff   204 10 Oct 06:16 .bash_sessions
-rw-r--r--@  1 me  staff  8196  8 Oct 22:37 .DS_Store
drwx------+  9 me  staff   306  8 Oct 22:37 Downloads
drwx------@ 12 me  staff   408  8 Oct 20:50 Google Drive
drwx------@ 13 me  staff   442  8 Oct 20:49 Dropbox
drwx------   9 me  staff   306  8 Oct 20:49 .dropbox
drwxr-xr-x+ 19 me  staff   646  8 Oct 20:48 .
-rw-r--r--   1 me  staff   100  4 Oct 12:03 .bash_history
drwx------@ 49 me  staff  1666  4 Oct 10:17 Library
drwx------   4 me  staff   136  4 Oct 09:52 Applications
-r--------   1 me  staff     7  4 Oct 09:45 .CFUserTextEncoding
drwx------+  3 me  staff   102  4 Oct 09:42 Documents
drwx------+  3 me  staff   102  4 Oct 09:42 Movies
drwx------+  3 me  staff   102  4 Oct 09:42 Music
drwx------+  3 me  staff   102  4 Oct 09:42 Pictures
drwxr-xr-x+  5 me  staff   170  4 Oct 09:42 Public
drwxr-xr-x   7 root             admin   238  4 Oct 09:42 ..

"."에 있는 "drwxr-xr-x+"의 차이점은 무엇입니까? 및 "drwx------@"가 "Google 드라이브"에 있습니까?

답변1

Unix 권한은 실제로 처음 생각하는 것보다 훨씬 덜 혼란스럽습니다. 전체 줄을 하나로 읽으려는 시도를 멈추고 대신 그룹으로 생각하면 항상 패턴으로 1 3 3 3이해하기가 더 쉬워집니다.
실제로 Mac 및 기타 일부 유닉스 파생 제품에서는 1 3 3 3 1구조를 사용합니다. 이에 대한 자세한 내용은 이 게시물 끝에서 확인하세요.

이 설명은 모든 관련 개념을 포함하면서 최대한 간단합니다.

에서 추출됨https://www.cs.swarthmore.edu/help/chmod.html

유닉스 파일 권한

파일 권한을 사용하면 파일 및 디렉터리에 대한 액세스를 허용하거나 거부할 수 있습니다. 권한에는 세 가지 유형이 있습니다.

  • r = 읽다
  • w = 쓰다
  • x = 실행

이러한 권한은 파일과 디렉터리에 대해 서로 다른 의미를 갖습니다.

파일의 경우:

  • 읽기 - 파일을 열고 읽을 수 있으며 복사할 수도 있습니다.
  • 쓰기 - 파일을 수정할 수 있습니다
  • 실행 - 파일이 실행 가능한 경우(예: 프로그램 또는 명령) 파일을 실행(실행)할 수 있습니다.

디렉토리의 경우:

  • 읽기 - 디렉토리를 검색하고 내용을 볼 수 있습니다.
  • 쓰기 - 해당 디렉토리에 파일을 만들고 제거할 수 있습니다.
  • 실행 - 해당 디렉토리로 CD를 이동할 수 있습니다.

ls -l 명령을 사용하여 파일 및 디렉터리에 대한 파일 권한을 확인하세요. 예는 다음과 같습니다.

$ ls -l
total 188
drwx------  jk users  4096 2008-10-24 11:30 cs21/
drwx------  jk users  4096 2007-10-01 12:24 mail/
drwxr-xr-x  jk users  4096 2008-06-05 10:33 public/
-rw-------  jk users 83623 2008-09-10 08:29 turing.pdf
-rw-r--r--  jk users  9134 2008-01-24 16:26 unix-by-example

위의 첫 번째 열은 파일 권한(drwx------ 또는 -rw-r--r--)이고, 두 번째 열은 파일 및 디렉터리의 소유자(jk)이며, 세 번째 열은 그룹( 사용자).

파일 권한의 경우 첫 번째 문자는 "d" 또는 "-"입니다. 이는 디렉터리 또는 파일을 의미합니다. 다음 세 문자(예: rwx)는 파일 소유자의 권한입니다. 그런 다음 그룹 권한(예: 사용자 그룹의 모든 사람)이 오고 마지막으로 다른 모든 사람에 대한 권한이 옵니다. 여기 몇 가지 예가 있어요.

* drwx------ : directory only accessible by owner
* drwxr-xr-x : directory anyone can access
* -rwxr-xr-x : file anyone can read and execute
* -rw-r----- : file only people in the group can read

자신이 속한 그룹을 확인하려면 groups 명령을 실행하세요.

파일/디렉토리에 대한 권한 변경

파일 권한을 변경하려면 chmod(CHchange MODe)를 사용하십시오. chmod 명령은 숫자를 사용할 수 있습니다:

  • 4 - 읽기
  • 2 - 쓰기
  • 1 - 실행

1,2,3이 아닌 이유는 사용하는 조합에 따라 고유한 숫자를 더해야 하기 때문입니다.

따라서 읽기 및 쓰기 권한을 부여하려면 다음을 수행하십시오.

읽기 + 쓰기 = 4 + 2 = 6

또는 실행 및 읽기 권한:

실행 + 읽기 = 1 + 4 = 5

아니면 그냥 실행 권한을 실행하세요.

실행 = 1

또는 모든 권한:

읽기 + 쓰기 + 실행 = 4 + 2 + 1 = 7

chmod 명령은 세 가지 권한에 대해 세 개의 숫자를 사용합니다.

소유자, 그룹, 모든 사용자(순서대로)

기본 chmod 명령은 다음과 같습니다.

$ chmod ### directory/filename

따라서 모든(-rw-r--r--)에 읽기 액세스 권한을 부여하려면 다음을 수행하십시오.

$ chmod 644 filename

사용자만 파일을 읽고, 쓰고, 실행할 수 있도록 하려면 다음을 수행하세요.

$ chmod 700 filename

귀하와 귀하의 그룹은 파일을 읽고 실행할 수 있지만 다른 모든 사람만 읽을 수 있도록 하려면 다음을 수행하십시오.

$ chmod 554 filename

chmod는 문자를 사용할 수도 있습니다: 사용자(소유자)는 u, 그룹은 g, 기타는 o, 모두(u, g, o)는 a입니다. 따라서 chmod g+r 파일을 사용하여 그룹에 대한 읽기 액세스 권한을 추가할 수 있습니다. chmod에 대한 자세한 내용은 매뉴얼 페이지(man chmod)를 참조하십시오.

해당 최종 캐릭터에 대한 메모

Mac OS X(및 기타 일부 Unix 파생 제품)에서는 최종 권한 세트 뒤에 추가 문자가 있습니다. 일반적으로 공백이지만 + 또는 @일 수도 있습니다.

+는 파일이나 디렉터리에 ACL과 같은 추가 보안 정보가 있음을 나타냅니다.
@는 파일이나 디렉터리에 확장된 속성이 있음을 나타냅니다.

ls(-l 옵션 사용)를 수행할 때 -e 옵션을 포함하면 파일이나 디렉터리의 ACL을 볼 수 있고, -@(-l 옵션도 사용)를 포함하면 확장 속성을 볼 수 있습니다.
ACL 및 확장 속성에 대한 논의는 이 답변을 훨씬 넘어서지만 확장 속성에 대한 자세한 내용은 찾을 수 있습니다.여기및 ACL여기(물론 구글은 당신이 알고 싶어하는 것보다 더 많은 정보를 찾아낼 것입니다.)

관련 정보