폴더 권한의 대문자 S

폴더 권한의 대문자 S

S다음 문자는 무엇을 의미하나요? 문제의 파일은 폴더입니다.

                                                                여기에 이미지 설명을 입력하세요.

나는 읽었다여기대문자는 해당 비트가 특정 기간 동안 활성화되었음을 S나타낼 수 있습니다 .setgid바이너리 실행 파일. 그러나 이것은 폴더입니다. 그래도 setgid비트가 활성화되었음을 의미합니까? 그렇다면 그것은 무엇을 의미합니까?

답변1

즉, 폴더에 있는 모든 파일은 해당 폴더의 소유 그룹에 속하게 됩니다.

예를 들어, 사용자 "intrpc"와 그룹 "users"에 속하는 "shared"라는 폴더가 있고 사용자(사용자 "initrpc")가 그 폴더에 파일을 저장한다고 가정해 보겠습니다. 따라서 파일은 "initrpc"의 기본 그룹에 관계없이 사용자 "intrpc" 및 그룹 "users"에 속하게 됩니다.

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

당신은 그것에 대해 읽을 수 있습니다여기.

해당 문자가 왜 대문자인가요(제공한 링크에서)?

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

답변2

대문자 S는 디렉터리에 그룹에 대한 실행 권한이 없기 때문입니다. 어떤 면에서 이는 "버그"를 나타냅니다.

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

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

그러나 그룹 구성원이 디렉터리에 들어갈 수 있는 권한을 거부합니다.

답변3

https://en.wikipedia.org/wiki/Setuid#When_set_on_a_directory

디렉토리에 setgid 권한("chmod g+s")을 설정하면 해당 디렉토리에 생성된 새 파일과 하위 디렉토리가 파일을 생성한 사용자의 기본 그룹 ID가 아닌 그룹 ID를 상속하게 됩니다(소유자 ID는 영향을 받지 않습니다). , 그룹 ID만 해당).

https://www.gnu.org/software/coreutils/manual/html_node/What-information-is-listed.html#What-information-is-listed

's'는 설정된 사용자 ID 또는 설정된 그룹 ID 비트와 해당 실행 가능 비트가 모두 설정된 경우입니다.

set-user-ID 또는 set-group-ID 비트가 설정되었지만 해당 실행 가능 비트가 설정되지 않은 경우 'S'입니다.

관련 정보