고급 파일 권한 및 이를 올바르게 읽는 방법

고급 파일 권한 및 이를 올바르게 읽는 방법
alisto@ubuntu:/projects/solarproj$ \ls -al
total 32
drwxrwsr-t 3 root   solarproj 4096 Dec 8 16:02 .
drwxr-xr-x 3 root   root      4096 Dec 8 15:29 ..
-rw-rw---- 1 boband boband    802  Dec 8 15:44 bearings.jpg
-rw-rw-r-- 1 boband solarproj 101  Dec 8 15:43 controller.c
drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old
-------rwx 1 alisto solarproj 19   Dec 8 14:08 power
-rw-r--r-- 1 alisto solarproj 81   Dec 8 15:44 schedule.txt
-rw----r-- 1 boband solarproj 576  Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24   Dec 8 16:02 temp.sym      ->  ../solarproj/temp

두 사용자 모두 Solarproj 그룹에 속합니다.

  1. Bob이 파일 내용을 변경할 수 있나요 schedule.txt? 왜?

    게시물을 올바르게 읽고 있다면 그룹이 읽기 전용으로 설정되어 있으므로 대답은 '아니요'입니다.

  2. Alice가 파일을 삭제할 수 있나요 controller.c? 왜?

    파일에 읽기 및 쓰기 권한이 부여되었지만 끈적한 비트 때문에 삭제할 수 없습니다/확실하지 않습니다

  3. 어떤 사용자가 파일을 읽을 수 있나요 power? 왜?

    그룹 또는 Alisto에 속하지 않는 다른 모든 사용자

  4. 왜 Alice는 이전 디렉터리의 내용을 나열할 수 있지만 Bob은 나열할 수 없습니까?

    그룹 권한의 S로 인해 x가 존재하지 않습니다.

  5. 앨리스가 파일을 읽을 수 있나요 temp.sym? 왜?

    아니, 그녀에게는 허락되지 않았기 때문이다.

내 대답이 맞는지는 모르겠지만 누군가가 내 잘못된 대답을 바로잡고 도움을 줄 수 있다면 기쁠 것입니다. 직접 테스트해보고 싶지만 가상 머신이 작동하지 않아서 며칠 후에 예정된 테스트를 위해 공부하고 다시 시도해야 합니다!

답변1

명령을 사용하여 권한을 표시하는 경우 ls특정 구조를 따릅니다. 예를 살펴보겠습니다:

-rw-rw-r--

이것첫 번째문자는 파일 형식을 나타냅니다.파일 설명자,다음 세 문자파일을 생성한 사용자의 권한을 나타냅니다.다음 세 문자 세트사용자 그룹의 권한을 나타냅니다.마지막 세 글자다른 사람의 권한을 나타냅니다.

이 예에서는 다음과 같습니다.

  • 이것첫 번째파일 설명자라고 하는 문자는 파일 유형을 나타냅니다. 이 경우에는 -rw-rw-r--선행 대시입니다.
  • 이것다음 세 문자파일을 생성한 사용자의 권한을 나타냅니다. 이 경우에는 -rw-rw-r--그렇습니다 rw-.
  • 이것다음 세 문자앞서 언급한 사용자 그룹의 권한을 나타냅니다.
  • 이것마지막 세 글자다른 사람의 권한을 표시합니다.

첫 번째 문자 또는 파일 설명자인 대시( -)는 이것이 일반 파일임을 나타냅니다. 반면에 이것이 디렉토리에 대한 권한이라면 단일 권한이 됩니다 d. 파일 설명자에 사용할 수 있는 값의 불완전한 목록:

  • d- 디렉토리
  • -- "일반" 파일
  • l- 심볼릭 링크
  • s- 유닉스 소켓
  • p- 파이프

세 문자로 구성된 나머지 세 세트는 [read][write][exec]각 괄호에 하나의 문자가 포함되는 구조를 따릅니다.

따라서 우리의 예에서는 다음과 같습니다 -rw-rw-r--.

  • 파일을 생성한 사용자의 권한은 입니다 rw-. 이렇게 하면 사용자는 파일을 읽고 쓸 수는 있지만 실행할 수는 없습니다.
  • 사용자 그룹의 권한도 마찬가지입니다 rw-. 이는 사용자 그룹이 해당 그룹에 읽고 쓸 수도 있음을 의미합니다.
  • 다른 사람에 대한 권한은 입니다 r--. 이는 다른 사람이 파일을 읽을 수만 있고 쓰거나 실행할 수 없음을 의미합니다.

귀하의 질문에 대해서는 다음과 같습니다.

Bob이 Schedule.txt 파일의 내용을 변경할 수 있습니까? 왜?

내가 이것을 올바르게 읽고 있다면 그룹이 읽기 전용으로 설정되어 있기 때문에 대답은 '아니오'입니다.

-rw-r--r-- 1 alisto solarproj 81   Dec 8 15:44 schedule.txt

당신 말이 맞아요. boband은(는) 그룹의 일부 solarproj이므로 그의 권한은 입니다 r--. 즉, 파일을 읽을 수만 있고 변경할 수는 없습니다.

Alice가 Controller.c 파일을 삭제할 수 있나요? 왜?

파일에 읽기 및 쓰기 권한이 부여되었지만 끈적한 비트 때문에 삭제할 수 없습니다/확실하지 않습니다

-rw-rw-r-- 1 boband solarproj 101  Dec 8 15:43 controller.c

응 그녀는 할수있어. 그녀의 권한은 rw-그녀가 Solarproj 그룹의 일원이므로 파일 삭제를 포함하여 파일을 변경할 수 있기 때문입니다.

누가 파워 파일을 읽을 수 있나요? 왜?

그룹 또는 Alisto에 속하지 않는 다른 모든 사용자

-------rwx 1 alisto solarproj 19   Dec 8 14:08 power

다시 말하지만 맞습니다. 1) 이 solarproj그룹에 속하지 않은 사용자, 2) 이 그룹에 속하지 않은 사용자만 alisto파일을 읽거나 변경하거나 실행할 수 있습니다.

Alice는 이전 디렉터리의 내용을 나열할 수 있지만 Bob은 왜 나열할 수 없나요?

그룹 권한의 S로 인해 x가 존재하지 않습니다.

drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old

아니요. S파일을 나타냅니다실행 가능 파일그리고setguid 비트가 설정되었습니다.

Alice가 temp.sym 파일을 읽을 수 있나요? 왜?

아니요, 그녀는 허용되지 않기 때문에

-rw----r-- 1 boband solarproj 576  Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24   Dec 8 16:02 temp.sym      ->  ../solarproj/temp

옳은. temp.sym도트 파일 temp; while은 를 가리키므로 alisto읽을 수 있습니다 .temp.symtempalisto 할 수 없다이 글을 읽은 후에는 허락이 거부될 것입니다.

관련 정보