权限...如何使文件夹无法删除?

权限...如何使文件夹无法删除?

在 FreeNAS (FreeBSD) 上...我正在尝试使文件夹变得“不可删除”。

我以 root 身份登录。我创建了一个名为 的文件夹,testchmod内容为700 (rwx------)。所有者为root,组为wheel

然后我以名为 的用户john(属于组的一部分)身份登录bbstaff- 并且我可以重命名和删除文件夹test。这难道不是不可能的吗?

我认为w权限阻止了重命名。

答案1

解决此类问题的终极方案是使目录不可变。这需要非常小心,因为这不是一个非常常见的操作,因此如果您这样做,最好在目录中留下一个文件,并附上一个巨大的警告:

# /some/directory/VAR_HAS_BEEN_MADE_IMMUTABLE.WARNING

完成此操作后:

# chflags schg /some/directory/var

您会发现它不再能被移动、删除或更改,甚至无法通过 root 进行操作,直到您将标志翻转回来。

请注意,这是 BSD 对 Linux 命令 chattr +i 的处理方式

http://www.cyberciti.biz/tips/howto-write-protect-file-with-immutable-bit.html

答案2

谷歌提供了许多答案,包括这一个,其中表示“在父目录上设置粘滞位将只允许目录所有者删除。

chmod +t /some/dir/ParentDir

请参阅使用部分http://en.wikipedia.org/wiki/Sticky_bit有关粘性位的更多信息”

这个也提倡使用粘滞位。

第三,这一页说“当目录被设为粘性时,它会增加一个特殊的安全功能。它可以防止某人删除或重命名目录中的文件,除非他们拥有该文件。”。

看起来这就是你的解决方案。

相关内容