`rm -P` 的目的是什么?

`rm -P` 的目的是什么?

rm当我遇到这个选项时,我正在阅读手册页:

-P    Overwrite regular files before deleting them.  Files are overwritten 
      three times, first with the byte pattern 0xff, then 0x00, and 
      then 0xff again, before they are deleted.

我猜-P是为了彻底删除文件,但将所有字节设置为0xff0x00还不够吗?为什么要在两者之间切换三遍呢?

答案1

有一种称为残留信息检索的技术,可以读取被删除的数据,其原理是当驱动器被磁化以存储数据时,靠近数据的其他部分也会受到影响,并且应该可以重新读取。 -以这种方式读取数据...这虽然是一种成本高昂的技术,但如果您偏执,请使用它;)

通过写入数据 3 次(在这种情况下),驱动器上磁道旁边的部分也应该重新设置,以便不可能以这种方式重新读取。

答案2

此选项基本无用。使用多种模式进行覆盖有点偏执,实际测试无法证明这一点:在现代硬盘上,使用零、一或随机模式覆盖一次或多次都没有任何区别。对于 SSD 来说情况不太清楚,但它们有自己的问题;多次覆盖会更快地磨损设备,而实际上并没有帮助清除数据。

删除文件时擦除文件基本上没有用的主要原因是,通常有文件的先前版本、编辑器备份、编辑器交换文件等未被擦除。此外,文件系统本身可能已经修改了周围的数据(由于碎片整理或文件系统检查)。

如果您担心文件可能会留下碎片,请对其进行加密。如果文件已加密,则删除它时无需采取任何预防措施;您只需要确保不泄露密钥即可。您可以专门加密文件,在这种情况下,您应该确保所有备份和其他可能包含全部或部分数据的文件也被加密;或者您可以加密文件所在的卷(通常会处理这些其他文件)。

有关更多信息,请参阅

答案3

因为它在取消链接之前会清理文件的内容(以防止恢复),所以它还会清理文件的“其他副本”(实际上是同一文件),这些副本可能以硬链接的形式存在于文件系统的其他位置。

对于 BTRFS 或任何其他写时复制文件系统,我希望它不会对数据进行取证破坏,尽管该文件的所有其他硬链接都将由垃圾组成。它还会保留该文件的任何其他母版副本不变......或快照中该文件的任何副本。

相关内容