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

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

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

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

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

答案1

是的,为此,您需要设置粘滞位对于该目录。

摘抄

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

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

相关内容