![디렉터리에 그룹 ID 비트를 설정할 수 없습니다.](https://linux55.com/image/126447/%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%97%90%20%EA%B7%B8%EB%A3%B9%20ID%20%EB%B9%84%ED%8A%B8%EB%A5%BC%20%EC%84%A4%EC%A0%95%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
라는 디렉토리를 만들고 newDir
그것이 속한 그룹을 변경했습니다 mkdir newDir && chgrp test-group newDir
.
me
내가 이 작업을 수행할 때 나는 사용자입니다.
호출은 stat newDir
예상되는 출력을 생성합니다.
File: newDir
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 10756102 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 1001/ me) Gid: ( 1003/test-group)
Access: 2018-01-27 17:03:07.514864274 +0100
Modify: 2018-01-27 17:03:07.514864274 +0100
Change: 2018-01-27 17:05:08.317543163 +0100
Birth: -
나중에 사용자로 로그인하고 를 otherUser
사용하여 디렉토리에 그룹 ID(setgid) 권한 비트를 설정하려고 했습니다 chmod g+s newDir
.
실망스럽게도 stat
권한이 변경되지 않은 것을 확인했습니다. 그러나 stderr에서는 오류가 발생하지 않으며 명령 결과는 chmod
표시된 대로 0입니다 echo $?
.
왜 chmod g+s newDir
작동하지 않나요?
저는 아치 리눅스 4.14.13을 사용하고 있습니다.
답변1
chmod g+s newDir
사용자로 실행 시 성공하지 못하는 이유는 해당 그룹이 속한 그룹에 속하지 않기 otherUser
때문입니다 .otherUser
test-group
newDir
해당 사용자로 전환되었으며 작업이 정상적으로 test-group
수행됩니다 .chmod g+s newDir
답변2
Mattias의 답변에 추가하여 수치적으로 그리고 절대적으로 수행하려면 다음과 같습니다.
chmod 2755 newDir
대상 그룹에 자신을 추가하려면 다음 단계를 따르세요.
usermod -a -G otheruser test-group
newgrp
때로는 newgrp가 그룹을 새로 고치지 않는 것 같아서 다시 로그인해야 할 수도 있습니다.
GUID 비트를 설정하려는 그룹의 일부여야 하고 오류 없이 실패한다는 것이 이상하지만 그게 전부입니다.