폴더 권한의 대문자 S


43

S아래 글자 는 무엇을 의미합니까? 문제의 파일은 폴더입니다.

                                                                여기에 이미지 설명을 입력하십시오

본인은 여기에 대문자가 있음을 S것을 나타낼 수있는 setgid비트가 활성 인 바이너리 실행 . 그러나 이것은 폴더입니다. 여전히 setgid비트가 활성화 되었다는 의미 입니까? 그렇다면 무엇을 의미합니까?

답변:


36

이는 폴더에 놓인 파일이 폴더의 소유 그룹을 차지함을 의미합니다.

예를 들어, "intrpc"사용자와 "users"그룹에 속하는 "shared"라는 폴더가 있고 파일 ( "initrpc"로서)을 파일에 드롭한다고 가정합니다. 결과적으로 파일은 "initrpc"의 기본 그룹에 관계없이 사용자 "intrpc"및 그룹 "users"에 속합니다.

대부분의 시스템에서 디렉토리의 set-group-ID 비트가 설정된 경우 새로 작성된 서브 파일은 디렉토리와 동일한 그룹을 상속하고 새로 작성된 서브 디렉토리는 상위 디렉토리의 set-group-ID 비트를 상속합니다.

여기에서 읽을 수 있습니다 .

왜 당신이 준 링크에서 문자가 대문자입니까?

그룹에 실행 권한이 없으면 setgid가 적용되지 않습니다. setgid는 ls 출력에서 ​​소문자 "s"로 표시됩니다. 효과가없는 경우 대문자 "S"로 표시됩니다.


다음 은 디렉토리에 적용된 setgid에 대한 좋은 설명입니다.
Matthias Braun

2
나는 그것이 효과 setgid has no effect if the group does not have execute permissions 있기 때문에 오해의 소지가 있다고 생각합니다 . 디렉토리의 소유자로 디렉토리에 파일을 추가하기 만하면됩니다. 파일에는 소유자의 기본 그룹 대신 디렉토리 그룹이 있습니다.
Matthias Braun

12

대문자 S는 디렉토리에 그룹에 대한 실행 권한이 없기 때문입니다. 어떤 방식으로 이것은 "오류"를 나타냅니다.

새로 작성된 서브 파일은 디렉토리와 동일한 그룹을 상속하고 새로 작성된 서브 디렉토리는 상위 디렉토리의 set-group-ID 비트를 상속합니다.

(출처 : https://www.gnu.org/software/coreutils/manual/html_node/Directory-Setuid-and-Setgid.html )

그러나 그룹 구성원이 디렉토리를 입력 할 수있는 권한을 거부하고 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.