在分区上使用 rm 和 Zerofree 删除数据的安全性如何?

use*_*114 5 security shred

可以简单地取消链接文件并在相关分区上运行,而不是使用srm,wipe或:shredzerofree

mount /dev/sda1 /mnt
rm /mnt/confidential_file
umount /mnt
zerofree /dev/sda1
Run Code Online (Sandbox Code Playgroud)

srm与、wipe和相比,此方法的安全性如何shred

PS:我也在寻找使文件取消链接并安排文件粉碎的方法。

fro*_*utz 3

shred只要您能保证没有创建该文件的其他副本,单个文件的安全性才有希望。这对于真正的大文件(电影)\xe2\x80\x94 来说可能很有效,假设你不重新编码这些文件,而对于小文件、文档和你实际使用的所有东西来说则根本不起作用。

\n\n

每次您单击“保存”时,您就会得到另一个副本。因为保存会将文件截断为 0 字节,并通常在物理上不同的位置写入新文件 \xe2\x80\x94。甚至文件系统也不再知道旧副本的位置,因此无法删除它shred或任何其他实用程序删除它。

\n\n

所以你最终会覆盖所有可用空间。这比粉碎单个文件要好得多,但也有其自身的陷阱...您需要成为 root 才能覆盖根保留,并且文件系统根本不喜欢充满 \xe2\x80\x94 任何其他写入同时进行将会失败,因此您最终会在此过程中丢失实际数据。

\n\n

所以像这个方法:

\n\n
truncate -s 1E sparsefile\nshred -v -n 1 sparsefile\nsync # other programs will lose data at this point\nrm sparsefile\n
Run Code Online (Sandbox Code Playgroud)\n\n

使用SSD,您可以将zerofree作为内置功能,fstrim/discard正是这样做的,可以快速轻松地消除可用空间。基本上,使用 SSD,在修剪发生后,您将无法恢复任何已删除的文件。

\n\n

安全吗?这取决于文件系统以及您想要删除的文件的大小。一些文件系统有角落和缝隙,比如多个小文件共享一个块,并且在创建一个充满随机数据的巨大文件时,该空间不会被覆盖。此外,可能还存在其他痕迹,例如目录条目中剩余的文件名......

\n\n

您无法一次覆盖整个设备。

\n\n
# backup everything\nblkdiscard /dev/sda    # SSD\nshred -v -n 1 /dev/sda # HDD\n# create partitions, filesystems, restore backup\n
Run Code Online (Sandbox Code Playgroud)\n