S
아래 글자 는 무엇을 의미합니까? 문제의 파일은 폴더입니다.
본인은 여기에 대문자가 있음을 S
것을 나타낼 수있는 setgid
비트가 활성 인 바이너리 실행 . 그러나 이것은 폴더입니다. 여전히 setgid
비트가 활성화 되었다는 의미 입니까? 그렇다면 무엇을 의미합니까?
S
아래 글자 는 무엇을 의미합니까? 문제의 파일은 폴더입니다.
본인은 여기에 대문자가 있음을 S
것을 나타낼 수있는 setgid
비트가 활성 인 바이너리 실행 . 그러나 이것은 폴더입니다. 여전히 setgid
비트가 활성화 되었다는 의미 입니까? 그렇다면 무엇을 의미합니까?
답변:
이는 폴더에 놓인 파일이 폴더의 소유 그룹을 차지함을 의미합니다.
예를 들어, "intrpc"사용자와 "users"그룹에 속하는 "shared"라는 폴더가 있고 파일 ( "initrpc"로서)을 파일에 드롭한다고 가정합니다. 결과적으로 파일은 "initrpc"의 기본 그룹에 관계없이 사용자 "intrpc"및 그룹 "users"에 속합니다.
대부분의 시스템에서 디렉토리의 set-group-ID 비트가 설정된 경우 새로 작성된 서브 파일은 디렉토리와 동일한 그룹을 상속하고 새로 작성된 서브 디렉토리는 상위 디렉토리의 set-group-ID 비트를 상속합니다.
여기에서 읽을 수 있습니다 .
왜 당신이 준 링크에서 문자가 대문자입니까?
그룹에 실행 권한이 없으면 setgid가 적용되지 않습니다. setgid는 ls 출력에서 소문자 "s"로 표시됩니다. 효과가없는 경우 대문자 "S"로 표시됩니다.
setgid has no effect if the group does not have execute permissions
있기 때문에 오해의 소지가 있다고 생각합니다 . 디렉토리의 소유자로 디렉토리에 파일을 추가하기 만하면됩니다. 파일에는 소유자의 기본 그룹 대신 디렉토리 그룹이 있습니다.
대문자 S는 디렉토리에 그룹에 대한 실행 권한이 없기 때문입니다. 어떤 방식으로 이것은 "오류"를 나타냅니다.
새로 작성된 서브 파일은 디렉토리와 동일한 그룹을 상속하고 새로 작성된 서브 디렉토리는 상위 디렉토리의 set-group-ID 비트를 상속합니다.
(출처 : https://www.gnu.org/software/coreutils/manual/html_node/Directory-Setuid-and-Setgid.html )
그러나 그룹 구성원이 디렉토리를 입력 할 수있는 권한을 거부하고 있습니다.