Linux - 有没有办法可以防止/保护文件不被删除,即使是 root 也可以?

Linux - 有没有办法可以防止/保护文件不被删除,即使是 root 也可以?

我有一个非常重要的文件,我工作场所的一个应用程序正在使用它,我需要确保它不会被删除,我该怎么做?

答案1

是的,您可以将文件的属性更改为只读。

命令是:

chattr +i filename

禁用它:

chattr -i filename

man chattr

具有该属性的文件i无法修改:无法删除或重命名,无法创建指向该文件的链接,也无法向该文件写入任何数据。只有超级用户或拥有该CAP_LINUX_IMMUTABLE权限的进程才能设置或清除该属性。

答案2

将其刻录到 CD。将 CD 放入 CD-ROM 驱动器并从那里访问它。

答案3

  1. 创建文件系统映像。
  2. 挂载映像。
  3. 将文件复制到已装载的映像。
  4. 卸载映像并将其重新安装为只读。
  5. 现在您无法删除它。

例子:

# 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 模式。当然,这也可以对目录执行。

相关内容