Linux目录权限读写但不删除

Cod*_*ard 58 linux file-permissions

是否可以设置目录权限,以便组能够读取和写入文件和子目录但不删除任何内容?

jma*_*g2k 49

在目录上设置粘滞位可能就足够了.用户将能够删除他们拥有的任何文件,但不能删除其他用户的文件.这可能足以满足您的使用需求.在大多数系统上,/ tmp以这种方式设置(/ tmp设置为1777)

chmod 1775 /控制

但是,如果需要更多控制,则必须在相关文件系统上启用ACL.

在/ etc/fstab中,将acl附加到标志:

/dev/root        /                       ext3    defaults,acl       1 1
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用setfacl/getfacl来控制和查看acl级别权限.

示例:(创建文件,一旦写入,它们是只读的,但可以由所有者删除,但不能由其他人删除.)

setfacl --set u::rwxs,g::rwx /controlled
setfacl -d --set u::r-x,g::r-x,o::- /controlled
Run Code Online (Sandbox Code Playgroud)

您可以在将在其中创建的所有文件使用的目录上设置默认acl列表.

正如其他人所指出的那样,要小心确切地指出你想要的东西.你说"写" - 但是用户可以覆盖自己的文件吗?他们可以更改现有内容,还是仅追加?一旦写完,它是只读的吗?也许您可以在评论中指定更多细节.

最后,selinux和grsecurity提供了更多控制,但这是另一种蠕虫.它可以非常复杂地进行设置.


ala*_*mar 15

好吧,这个目录将是rx.

其中的文件将具有rw-.

这是因为如果文件的权限允许写入,则可以写入文件,但只有在其目录的权限允许写入时才能删除它.

  • 这样可行,但您也无法添加新文件. (28认同)