如何修改目录,使其归某个组所有,并且该组中的用户可以添加和删除文件以及创建子目录,但无法更改父目录的权限?例如,我希望“用户”组中的任何用户都能够将文件添加到目录 foobar,但不能更改 foobar 的权限?我认为 ACL 可能是可行的方法,但我从未这样做过。
[peter@cobbler foobar]# ls -la
total 16
drwxrwx---. 2 peter users 4096 May 14 18:37 .
drwxr-xr-x. 3 root root 4096 May 14 18:37 ..
-rw-rw----. 1 peter users 37 May 14 18:39 bar
-rw-rw----. 1 sam users 24 May 14 18:39 foo
答案1
更改文件或目录的权限仅允许所有者更改,而不允许组成员更改。因此严格来说,您所要求的操作将在任何 unix 系统上自动发生。
但是,您通常不仅希望阻止用户更改目录的权限,还希望阻止用户修改其他用户在该目录中创建的任何内容。为此,您可以使用粘性位。您可以foobar
通过键入来在目录中设置该位chmod 1775 foobar
,这还会将其设置为所有者和组可写,其他人可读。