如何禁止用户移动/重命名此主目录的子目录?
即使用户对目录没有任何权限,只要源和目标父目录可写,就可以重命名/移动它。
我在 macosx 上也遇到过类似的问题。用户不小心将“Library”文件夹拖放到其他地方,导致一切都中断,因为有应用程序依赖于该路径。
我认为最好不要依赖主目录之外的另一条路径,或者使用“.files”,但我有一个遗留的情况。
我尝试将目录放在其他地方,然后进行“绑定”安装来解决问题
mount -o bind 源路径/home/user/somedir
它可以防止目录重命名:
mv:无法将‘somedir’移动到‘somethingelse’:设备或资源繁忙
有人知道更简单的方法吗?
答案1
最简单的可能是使用chattr
:
sudo mkdir /home/user/somedir
sudo chown root:root /home/user/somedir
sudo chattr +i /home/user/somedir