Linux目录权限读写不删除

标签 linux file-permissions

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

最佳答案

在目录上设置粘性位可能就足够了。用户将能够删除他们拥有的任何文件,但不能删除其他用户的文件。这对于您的用例可能已经足够了。在大多数系统上,/tmp 是这样设置的(/tmp 设置为 1777)

chmod 1775/受控

但是,如果您想要更多控制权,则必须在相关文件系统上启用 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 提供了更多的控制,但这是完全不同的蠕虫病毒。设置可能非常复杂。

关于Linux目录权限读写不删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/869536/

相关文章:

php - 如果我对文件夹具有写权限,如何在 PHP 中确定

linux - bash-控制要强调多少个 cpu/vm/io

python - 从 postgreSQL 数据库(Django 站点)备份所有数据

linux - 'others' 的文件读取权限不起作用

file-permissions - 操作系统更新可以修改目录权限吗?

linux - 将 JSP 作为 iframe 集成到 Joomla 中

c - 无法释放内存,显示某些内存崩溃

linux - vncconfig 无法在启动时自动工作

C++:Linux平台上的线程同步场景

Android Marshmallow(已root): How to read/write any file