사용자에게 속한 폴더에 SUID 및 SGID 비트를 설정했습니다.부자그리고 sudo chmod g+s myfolder
&sudo chmod u+s myfolder
drwsr-sr-x 24 foo www-data 4,0K Okt 25 16:17 myfolder
그런 다음 들어가서 폴더를 만들었는데 sudo mkdir xyz
폴더의 사용자를 덮어쓰고 root
그룹은 성공적으로 보호되었습니다.
drwxr-sr-x 2 root www-data 4,0K Okt 25 16:24 xyz
사용자가 보호되기를 원하며 foo
실행 후에도 유지되어야 합니다 sudo mkdir xyz
. 무엇이 빠졌습니까?
답변1
xyz
사용해본 결과 별 문제 없을 것 같습니다sudo
- 물론 이것은
root
대신 사용해야 하며 다음과 같이foo
설정해야 합니다.chmod g+s myfolder
www-data
sudo
모든 명령이 아닌 필요한 경우에만 사용하십시오. 시도해 볼 수 있습니다.mkdir xyz
답변2
사용자인 경우 foo
SUID/SGID 비트가 없으면 권한이 원하는 대로 정확하게 작동합니다.
ls -ld myfolder myfolder/xyz
drwxr-xr-x 3 foo www-data 4096 Oct 25 16:00 myfolder
drwxr-xr-x 2 foo www-data 4096 Oct 25 16:00 myfolder/xyz/
SUID는 디렉터리에서 작동하지 않으므로 디렉터리는 사용자를 소유자로 생성됩니다. SGID를 사용하면 생성자/소유자가 그룹의 구성원이 아니더라도 그룹은 계속해서 공연됩니다.
그러나 대상 파일 시스템에서 ACL을 사용할 수 있는 경우 이를 사용하여 표시되는 소유자 및 그룹에 관계없이 사용자 foo
및/또는 그룹 구성원이 www-data
디렉토리에 액세스하도록 허용할 수 있습니다.