能够将文件添加到目录但不能删除现有文件

Ama*_*ius 6 permissions directory files

是否有一些权限设置允许用户(例如)john将文件添加到目录d,但不能删除另一个用户拥有的现有文件,例如root

我的理解是这是不可能的,因为需要执行权限才能将文件添加到目录中,但这也提供了取消链接目录中任何文件的能力。

(我使用的是 Mac OS 10.9,但这个问题大概适用于所有 POSIX-ish 系统。)

J. *_*lor 6

是的,为此,您需要为该目录设置粘性位

摘抄

另一个重要的改进涉及在目录上使用粘滞位。设置了粘滞位的目录意味着只有文件所有者和超级用户可以从该目录中删除文件。无论目录权限如何,其他用户都被拒绝删除文件的权利。与文件粘滞位不同,目录上的粘滞位一直存在,直到目录所有者或超级用户明确删除目录或更改权限。

也就是说,您将授予用户john对该目录的执行权限,d以便他们可以向其中添加文件,然后将该目录标记为“粘性”chmod +t /path/to/d以确保john(以及具有 +x 权限的任何其他用户)只能删除文件(或子目录)他们拥有。