我有一个非常重要的文件,我工作场所的一个应用程序正在使用它,我需要确保它不会被删除,我该怎么做?
答案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 模式。当然,这也可以对目录执行。