我们有一个目录,希望保护它不被删除和重命名,但我们需要能够重命名、删除和创建内容。我们能做什么?
答案1
我想这对于标准 Linux 技术来说是不可能的。您需要 RichACL 来精确配置。
如果副作用不是问题,那么您可以从父目录中删除写入权限。
好吧,我必须纠正我的第一个想法:有一个标准功能的解决方法。您可以将该目录移动到其他路径,创建一个具有相同名称且没有任何写入权限的空目录,然后mount --bind
从新位置创建一个到旧位置。活动挂载点无法删除,但内容权限不受影响。
答案2
删除和重命名目录的权限由其父目录的权限决定,而不是由其自己的权限决定(就像其他文件一样)。只需将目录的权限设置为您需要的权限并使其成为父目录-w
。
根据您的用例,您可能+t
还希望使目录具有粘性 - 这样用户就无法移动其他人的文件,只能移动自己的文件。