仅更改目录内容而不更改其本身的权限

仅更改目录内容而不更改其本身的权限

我们有一个目录,希望保护它不被删除和重命名,但我们需要能够重命名、删除和创建内容。我们能做什么?

答案1

我想这对于标准 Linux 技术来说是不可能的。您需要 RichACL 来精确配置。

如果副作用不是问题,那么您可以从父目录中删除写入权限。

好吧,我必须纠正我的第一个想法:有一个标准功能的解决方法。您可以将该目录移动到其他路径,创建一个具有相同名称且没有任何写入权限的空目录,然后mount --bind从新位置创建一个到旧位置。活动挂载点无法删除,但内容权限不受影响。

答案2

删除和重命名目录的权限由其父目录的权限决定,而不是由其自己的权限决定(就像其他文件一样)。只需将目录的权限设置为您需要的权限并使其成为父目录-w

根据您的用例,您可能+t还希望使目录具有粘性 - 这样用户就无法移动其他人的文件,只能移动自己的文件。

相关内容