有没有办法让组“所有者”拥有文件或目录所有者的完整权限?

有没有办法让组“所有者”拥有文件或目录所有者的完整权限?

普通的 Unix 权限系统是否可以使组成员有权更改文件的权限?

换句话说,假设我们有一个由属于组 的awesome.rb用户拥有的文件,并且用户(也是 的成员)需要使特定文件可执行。有没有办法让这成为可能?brandondevelopersdarryldevelopers

答案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 via pam_cap.so(这两者都会赋予他们系统上所有文件的 root 级别 chowning 权限,这听起来很危险),拥有用户和 root 是唯一可以触摸的人它。

相关内容