rm 的行为 - 如何防止删除安装点内容

rm 的行为 - 如何防止删除安装点内容

有没有办法防止rm删除挂载点?

例如,如果我在外部安装了 /mnt/backup 并且有人运行,rm -rf /我知道它将删除备份内容。

我的解决方案是在备份结束后umount /mnt/backup。

答案1

最佳实践是不仅卸载,还断开备份。

您可能希望您的备份能够在(例如)有人意外下载加密锁的情况下保护您。或者有人闯入(破坏)您的系统。或者奇怪的系统崩溃会损坏文件系统。或者闪电浪涌会烧毁所有插入的电子设备。这样做的某人/某物受到以下限制:

  • 权限,如果他们只能访问非 root 帐户(您的备份只能由专用帐户写入)还可以考虑快照之类的东西,您可以在其中使快照只能由 root 访问,但让当前备份可供 root 访问用户。或者将快照设置为只读。
  • 未挂载的文件系统,如果不是 root(假设 udisks 之类的东西不允许挂载它)。不过,这几乎总能防止奇怪的崩溃。
  • 物理定律,如果你断开驱动器

您必须选择要防范哪些威胁,并权衡成本/不便。

还要记住意外泄露的风险,而不仅仅是意外数据丢失的风险。您还可以拥有多个备份以结合优势。例如,也许您每个月都会更换 USB 硬盘驱动器,现在您可以享受始终连接的便利,但如果有人 root 机器并擦除它,您就可以安全无误地获得上个月的备份。

答案2

rm --one-file-system应该可以解决问题。

   --one-file-system
          when removing a hierarchy recursively, skip any directory that
          is on a file system different from that of the corresponding
          command line argument

来源:http://man7.org/linux/man-pages/man1/rm.1.html

相关内容