![고급 파일 권한 및 이를 올바르게 읽는 방법](https://rvso.com/image/178500/%EA%B3%A0%EA%B8%89%20%ED%8C%8C%EC%9D%BC%20%EA%B6%8C%ED%95%9C%20%EB%B0%8F%20%EC%9D%B4%EB%A5%BC%20%EC%98%AC%EB%B0%94%EB%A5%B4%EA%B2%8C%20%EC%9D%BD%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
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 그룹에 속해 있습니다.
Bob이 파일의 내용을 변경할 수 있나요
schedule.txt
? 왜?내가 이것을 올바르게 읽고 있다면 대답은 '아니오'입니다. 그룹이 읽기 전용으로 설정되어 있기 때문입니다.
Alice가 파일을 제거할 수 있습니까
controller.c
? 왜?파일은 읽기 및 쓰기 권한을 부여하지만 끈적한 부분 때문에 제거할 수 없거나 확실하지 않습니다.
어떤 사용자가 파일을 읽을 수 있나요
power
? 왜?그룹 또는 Alisto에 속하지 않은 다른 모든 사용자
Alice는 왜 old 디렉토리의 콘텐츠를 나열할 수 있지만 Bob은 나열할 수 없습니까?
그룹 권한의 S로 인해 x가 존재하지 않습니다.
앨리스가 파일을 읽을 수 있나요
temp.sym
? 왜?아니요, 그녀는 허용되지 않기 때문입니다.
내 대답이 맞는지 잘 모르겠고 누군가가 내 잘못된 대답을 바로잡고 조금이라도 도움을 줄 수 있다면 좋겠습니다. 직접 테스트해보고 싶지만 VM이 작동하지 않아서 며칠 후에 다시 시도해야 하는 테스트를 위해 공부해야 합니다!
답변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이 아닌 Old 디렉터리의 콘텐츠를 나열할 수 있나요?
그룹 권한의 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.sym
temp
alisto
할 수 없다읽은 후에는 허가가 거부됩니다.