【发布时间】:2018-01-17 08:36:42
【问题描述】:
当需要在用户的主目录中创建文件夹,允许用户读取/写入/删除文件夹中的文件,但不允许删除文件夹本身时(考虑到普通用户而不是sudoer)。
在我的情况下(即 RedHat),仅将具有 root 权限的文件放在用户的文件夹中是不够的,因为用户拥有该文件夹。
在我的情况下,如果用户拥有(或拥有文件夹的所有权限),即使里面有根文件或空文件夹,他也可以将其删除。
我做了很多实验,包括玩chown和400、000、o+t、1775等权限。最初我不想使用chattr。
同时我找到了一个解决方案,我在下面分享一个答案;到目前为止适合我需求的变体。
【问题讨论】:
-
我同时编辑了问题和您的答案,以形成单独的问题/答案对。编辑比我通常做的要广泛一些。如果您认为这超出了您的意图,请告诉我。在这种情况下,请随时回滚,我会道歉。
-
@Yunnosch 我认为一切都很好,你在帮助澄清这一点方面做得很好。谢谢。
-
为了删除一个目录,必须有写入父目录的权限。因此,从相关用户那里删除该权限,他们将无法删除子目录...
-
@twalberg 这就是我的情况:用户必须有能力写入目录(就像我在标题中写的那样)。此外,在我的情况下,它必须是具有用户权限的目录。
标签: linux bash sh file-permissions