如何保护文件夹不被删除/移动,但对里面的文件没有限制

如何保护文件夹不被删除/移动,但对里面的文件没有限制

这就是我想要实现的目标:

我想保护文件夹/mnt/sdmmc0p2/test不被删除或移动,但里面的文件可以被删除。

我尝试使用chattr +a /mnt/sdmmc0p2/test,但失败了。

~# chattr +a /mnt/sdmmc0p2/test
chattr: No such file or directory while trying to stat /mnt/sdmmc0p2/test
~# mkdir /mnt/sdmmc0p2/test
~# chattr +a /mnt/sdmmc0p2/test
~# date >> /mnt/sdmmc0p2/test/test
~# rm /mnt/sdmmc0p2/test/test
rm: can't remove '/mnt/sdmmc0p2/test/test': Operation not permitted

然后我尝试使用“u”(不可删除)标志

~# chattr =u /mnt/sdmmc0p2/test
~# rm /mnt/sdmmc0p2/test/test
~# rm -r /mnt/sdmmc0p2/test

这里有两个问题:

  1. 我的目标可以实现吗chattr
  2. 为什么“u”标志不起作用?我是否误解了“不可删除”的含义?

答案1

您可以简单地使用chmod和来完成此操作chown

sudo chown root:root /mnt/sdmmc0p2/test
sudo chmod 777  /mnt/sdmmc0p2/test

然后测试

cd  /mnt/sdmmc0p2/test
touch mytest1
rm mytest1
cd ..
rm -rf  /mnt/sdmmc0p2/test
rm: cannot remove '/mnt/sdmmc0p2/test': Permission denied

相关内容