防止删除文件夹但允许访问其中的所有内容

防止删除文件夹但允许访问其中的所有内容

我知道文件和目录有 +i 标志,但我有一个更深层次的问题。

有没有办法防止有权创建/访问/删除文件和文件夹的用户删除文件夹里面删除保护的文件夹?

sudo chattr +i testfolder标志无用,因为用户只能读取文件,而不能创建或删除文件。

sudo chattr +a testfolder标志不会有帮助,因为用户可以写入和读取文件,但只能附加编辑文件而不能删除它们。

我需要一个解决方案,让用户可以写入、访问删除文件但不能删除根/父文件夹。

答案1

目录的删除取决于其父目录的权限,而不是其自身的权限。如果用户对父目录有写权限,则目录可删除,否则不可删除。

因此,如果用户不必具有在要保护的目录的同一级别创建或删除目录/文件的权限,那么这应该有效:

chmod 755 /the/parent/dir 

如果仍然必须允许某些用户修改父级的内容,则父级应该由其成员为这些用户的组拥有,并且该组应该具有写权限:

addgroup bigguys
chgrp bigguys /the/parent/dir
chmod 775 /the/parent/dir

相关内容