일반 Unix 권한 시스템이 그룹 구성원에게 파일 권한을 변경할 수 있는 권한을 부여할 수 있습니까?
즉, 그룹에 속한 awesome.rb
사용자가 소유한 파일이 있고 그룹의 구성원이기도 한 사용자가 특정 파일을 실행 가능하게 만들어야 한다고 가정해 보겠습니다. 이것을 가능하게 하는 방법이 있나요?brandon
developers
darryl
developers
답변1
파일이 있는 디렉터리에 대한 쓰기 액세스 권한이 있는 한 파일 삭제 권한을 가질 수 있습니다. 소유자만이 일반 Unix 권한을 사용하여 권한을 변경할 수 있습니다.
노트:귀하가 그룹의 구성원이고 파일에 대한 권한이 있는 경우 rwx
그룹의 구성원은 파일을 편집하고 실행할 수 있습니다. 나머지 권한은 디렉터리 권한과 별개입니다.
예
$ groups
saml tmux vboxusers jupiter
# have write perms on dir
$ ls -dl ../somedir/
drwxrwx--- 2 root tmux 4096 May 14 15:36 ../somedir/
$ ls -l
-rw-rw---- 1 root tmux 0 May 14 15:36 somefile
# can delete file
$ rm somefile
$
# don't have write perms on dir
$ ls -ld ../somedir/
drwxr-x--- 2 root tmux 4096 May 14 15:39 ../somedir/
$ ls -l
-rw-rw---- 1 root tmux 0 May 14 15:39 somefile
# can't delete file
$ rm somefile
rm: cannot remove `somefile': Permission denied
# can't move file either
$ mv somefile /tmp/
mv: cannot remove `somefile': Permission denied
ACL(액세스 제어 목록)을 사용하면 더 복잡하고 유연한 권한을 생성할 수 있습니다.
인용하다
답변2
불행하게도 파일 보안 관리는 소유 사용자의 일로 간주됩니다. chmod u+s /bin/chown
대상 사용자에게 CAP_CHOWN을 실행하거나 제공하지 않으면 pam_cap.so
(둘 다 시스템의 모든 파일에 대한 루트 수준의 chowning 권한을 부여하므로 위험해 보임) 소유 사용자와 루트만이 이를 만질 수 있습니다.