是否可以设置目录权限,使组能够读写文件和子目录,但不能删除任何内容?
发布于 2009-05-15 16:33:05
在目录上设置粘滞位可能就足够了。用户将能够删除自己拥有的任何文件,但不能删除其他用户的文件。对于您的用例,这可能就足够了。在大多数系统上,/tmp是这样设置的(/tmp设置为1777)
chmod 1775 /controlled
但是,如果您想要更多的控制,就必须在有问题的文件系统上启用ACL。
在/etc/fstab中,将acl附加到标记后面:
/dev/root / ext3 defaults,acl 1 1
然后,您可以使用setfacl/getfacl控制和查看acl级别的权限。
示例:(创建文件,一旦写入,它们就是只读的,但可以由所有者删除,但不能由其他人删除。)
setfacl --set u::rwxs,g::rwx /controlled
setfacl -d --set u::r-x,g::r-x,o::- /controlled
您可以在目录上设置默认acl列表,所有在该目录中创建的文件都将使用该列表。
正如其他人所指出的那样,要小心准确地指定您想要的内容。你说“写”--但是用户可以覆盖他们自己的文件吗?他们可以改变现有的内容,或者只是追加吗?一旦写入,它就是只读的吗?也许你可以在评论中指定更多细节。
最后,selinux和grsecurity提供了更多的控制,但这是另外一种蠕虫。它的设置可能相当复杂。
发布于 2009-05-15 16:07:20
无论是否可能,请确保用0字节文件覆盖不等同于在您的特定上下文中删除该文件。
https://stackoverflow.com/questions/869536
复制相似问题