디렉터리의 Setgid가 디렉터리의 파일에 실행 권한을 부여하지 않습니다.

디렉터리의 Setgid가 디렉터리의 파일에 실행 권한을 부여하지 않습니다.

제가 만든 디렉토리는 다음과 같습니다.

root@host [~]#  mkdir mydir
root@host [~]#  ls -ld mydir
drwxrwxr-x 2 test test 4096 Mar 2 19:36 mydir
root@host [~]# 

그런 다음 "chgrp" 명령을 사용하여 디렉터리의 그룹 소유권을 변경하고 "setgid" 권한도 추가했습니다.

root@host [~]#  chgrp test2 mydir/
root@host [~]#  chmod g+s mydir
root@host [~]#  ls -ld mydir/
drwxrwsr-x 2 test test2 4096 Mar 2 19:36 mydir/
root@host [~]# 

이제 디렉토리 아래에 파일을 생성하면 해당 파일이 누락된 것으로 나타났습니다 execute permission.

root@host [~]#  touch mydir/myfile3
root@host [~]#  ls -l mydir/myfile3
-rw-rw-r-- 1 test test2 0 Mar 2 19:59 mydir/myfile3
root@host [~]#

내가 이해하는 바는 파일이 상위 디렉토리와 정확히 동일한 권한을 가져야 한다는 것입니다. 또한 rwx permission파일의 상위 디렉터리도 얻어야 합니다 rwx permission.

답변1

디렉토리의 sgid 비트는 디렉토리에 생성된 파일을 해당 디렉토리를 소유한 그룹이 소유하도록 합니다. 예에서 이를 볼 수 있습니다: myfile2그룹 소유 test2.

sgid 비트는 디렉터리 내에 생성된 파일에 대한 권한을 결정하지 않습니다.

다시, 참조UNIX 권한 및 파일 유형 이해더 알아보기.

관련 정보