![Linux - 有没有办法可以防止/保护文件不被删除,即使是 root 也可以?](https://linux22.com/image/647188/Linux%20-%20%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%8F%AF%E4%BB%A5%E9%98%B2%E6%AD%A2%2F%E4%BF%9D%E6%8A%A4%E6%96%87%E4%BB%B6%E4%B8%8D%E8%A2%AB%E5%88%A0%E9%99%A4%EF%BC%8C%E5%8D%B3%E4%BD%BF%E6%98%AF%20root%20%E4%B9%9F%E5%8F%AF%E4%BB%A5%EF%BC%9F.png)
我有一个非常重要的文件,我工作场所的一个应用程序正在使用它,我需要确保它不会被删除,我该怎么做?
答案1
是的,您可以将文件的属性更改为只读。
命令是:
chattr +i filename
禁用它:
chattr -i filename
具有该属性的文件
i
无法修改:无法删除或重命名,无法创建指向该文件的链接,也无法向该文件写入任何数据。只有超级用户或拥有该CAP_LINUX_IMMUTABLE
权限的进程才能设置或清除该属性。
答案2
将其刻录到 CD。将 CD 放入 CD-ROM 驱动器并从那里访问它。
答案3
- 创建文件系统映像。
- 挂载映像。
- 将文件复制到已装载的映像。
- 卸载映像并将其重新安装为只读。
- 现在您无法删除它。
例子:
# dd if=/dev/zero of=readonly.img bs=1024 count=1024
# mkfs.ext2 readonly.img
# mkdir readonlyfolder
# mount readonly.img readonlyfolder/
# echo "can't delete this" > readonlyfolder/permanent.txt
# umount readonlyfolder
# mount -o ro readonly.img readonlyfolder
# cat readonlyfolder/permanent.txt
can't delete this
# rm readonlyfolder/permanent.txt
rm: cannot remove `readonlyfolder/permanent.txt': Read-only file system
答案4
Linux 有所谓的绑定安装相当强大和有用的功能选项知道:
% cd $TMP && mkdir usebindmountluke && cd usebindmountluke
% echo usebindmountluke > preciousfile
% sudo mount -B preciousfile preciousfile
% sudo mount -oremount,ro preciousfile
% echo sowhat > preciousfile
zsh: read-only file system: preciousfile
% rm preciousfile
rm: cannot remove ‘preciousfile’: Read-only file system
— 这里所做的是将文件绑定到自身(是的,您可以在 Linux 中执行此操作),然后将其重新挂载到 R/O 模式。当然,这也可以对目录执行。