粉碎单个文件
要分解单个文件,我们可以使用以下命令。我们使用的选项包括:
u:覆盖后取消分配并删除文件。 v:详细选项,这样shred就可以告诉我们它在做什么。 z:使用零执行最终覆盖。
shred -uvz Preliminary_Notes.txt_01.txt
默认情况下,碎片会覆盖文件四次。按照我们的要求,前三次传递使用随机数据,最后一次传递使用零。然后,它将删除该文件并覆盖信息节点中的一些元数据
设置覆盖遍的次数
我们可以使用-n(Number)选项要求shred使用更多或更少的覆盖遍。切碎将始终使用至少一次传递。我们在这里提供的数字是我们需要shred执行的额外传递次数。所以施雷德总是会比我们要求的数字多做一次传球。要获得总共三个通行证,我们需要额外的两个通行证:
shred -uvz -n 2 Preliminary_Notes.txt_02.txt
不出所料,Shred进行了三次传球。
更少的传球-如果你愿意,更少的粉碎-显然更快。但它是不是不那么安全了?有趣的是,这三次传球可能已经足够了。
相关:您只需擦除磁盘一次即可将其安全擦除
粉碎多个文件
通配符可以与shred一起使用,以选择要擦除的文件组。“*”表示多个字符,“?”表示单个字符。*此命令将删除当前工作目录中所有剩余的“PRIONAL_NOTES”文件。
shred -uvz -n 2 Preliminary_Notes_*.*
剩下的每个文件都由碎片器依次处理。
shred没有递归选项,因此不能用于擦除嵌套目录的目录树。
安全删除文件的麻烦
不管碎屑有多好,都有一个问题。现代日志文件系统(如ext3和ext4)竭尽全力确保它们不会损坏、损坏或丢失数据。对于日志记录文件系统,不能保证在已删除文件使用的硬盘空间上确实会发生覆盖。
如果您希望文件被删除得比RM更彻底一些,那么shred可能没问题。但不要犯这样的错误,认为数据肯定已经消失,完全无法恢复。情况很可能并非如此。
相关:为什么不能“安全删除”文件,以及如何取而代之
安全删除套件
secure-delete命令试图克服日志记录文件系统的最大努力,并成功安全地覆盖文件。但同样的警告也同样适用。仍然不能保证覆盖确实发生在您需要它来擦除感兴趣的文件的硬盘区域上。有更多的机会,但不能保证。
安全删除命令使用以下覆盖和操作序列:
1用0xFF值字节覆盖。 5用随机数据覆盖。 27用Peter Gutmann定义的特殊值覆盖。 使用随机数据再覆盖5个。 将文件重命名为随机值。 截断文件。
如果你觉得这一切都太过分了,那你就有了一个很好的伙伴。奥克兰大学(University Of Aukland)教授彼得·古特曼(Peter Gutmann)也认为这一比例过高。他在1996年发表了一篇讨论这些技术的论文,由此引发了一种都市神话,即你需要同时使用论文中讨论的所有技术。
自那以后,彼得·古特曼(Peter Gutmann)试图把精灵重新放回瓶子里,他说:“用随机数据进行一次很好的清理,会做得和预期的一样好。”
但是我们现在所处的位置,这些是安全删除命令使用的一系列技术。但首先,我们需要安装它们。
安装安全删除
如果您使用的是Ubuntu或其他基于Debian的发行版,请使用aapt-get命令将此软件包安装到您的系统上。在其他Linux发行版上,请改用您的Linux发行版的包管理工具。
sudo apt-get install secure-delete
安全删除捆绑包中包括四个命令。
SRM是一种安全RM,用于通过删除文件并覆盖其硬盘空间来擦除文件。 sFill是一款覆盖硬盘上所有可用空间的工具。 sexchange用于覆盖和清理您的交换空间。 sdmem用于清理内存。
SRM命令
您可以像使用rm命令一样使用srm命令。要删除单个文件,请使用以下命令。z(零)选项导致SMR对最终擦除使用零,而不是随机数据。v(详细)选项使SRM通知我们其进度。
srm -vz Chapter_One_01.txt
您会注意到的第一件事是SRM很慢。它在工作时确实提供了一些视觉反馈,但是当您再次看到命令提示符时,它会让您松一口气。
您可以使用-l(降低安全性)选项将通过次数减少到两次,这将大大加快速度。
srm -lvz Chapter_One_02.txt
SRM告诉我们,在它看来,这不太安全,但它仍然会为我们删除和覆盖该文件。
您可以使用-l(降低安全性)选项两次,以将传递次数减少到一次。
srm -llvz Chapter_One_03.txt
将SRM用于多个文件
我们还可以对SRM使用通配符。此命令将擦除和擦除第一章的其余部分:
srm -vc Chapter_One_0?.txt
文件由SRM依次处理。
使用SRM删除目录及其内容
r(递归)选项将使SRM删除所有子目录及其内容。您可以将第一个目录的路径传递给SRM。
在本例中,我们将删除当前目录~/Research中的所有内容。这意味着~/Research中的所有文件和所有子目录都被安全删除。
srm -vz *
SRM开始处理目录和文件。
它最终会使您返回到命令提示符。在本文研究的测试机器上,删除分布在当前目录和三个嵌套目录之间的大约200个文件大约需要一个小时。
所有文件和子目录都已按预期删除。
sFill命令
如果您担心已使用RM删除的文件,如何才能重新检查并确保它已被覆盖?*sill命令将覆盖您硬盘上的所有可用空间。
在执行此操作时,您会注意到硬盘上的可用空间越来越少,直到完全没有可用的空间。当sFill完成时,它会将所有空闲空间释放回给您。如果您管理的是多用户系统,这将非常具有破坏性,因此这是一项应该在非工作时间执行的维护任务。
即使在单用户计算机上,硬盘空间的损失也意味着一旦填充用完了大部分空间,它就无法使用。这是你一开始就会做的事,然后就会离开。
要尝试提高速度,可以使用-l(降低安全性)选项。其他选项是我们之前看到的-v(详细)和-z选项(零)。在这里,我们要求sill安全地覆盖/home目录中的所有空闲空间。
sudo sfill -lvz /home
请不要拘束。在只有10 GB硬盘的测试计算机上,这是在下午三点左右开始的,并在一夜之间完成。
它会搅拌好几个小时。这是通过-l(降低安全性)选项实现的。但是,最终您将返回到命令提示符。
sexchange命令
sswap命令将覆盖交换分区中的存储。我们需要做的第一件事是识别您的交换分区。我们可以使用blKID命令来实现这一点,该命令列出了块设备。
sudo blkid
您需要找到单词“交换”,并记下它所连接的块设备。
我们可以看到交换分区连接到/dev/sda5。
我们需要在覆盖期间关闭对交换分区的磁盘写入。我们将使用swapoff命令:
sudo swapoff /dev/sda5
现在,我们可以使用sexchange命令。
我们将使用/dev/sda5作为sexchange命令的命令行的一部分。我们还将使用前面使用的-v(详细)选项和-ll(降低安全性)选项。
sudo sswap -llv /dev/sda5
sexchange开始在您的交换分区中工作,覆盖其中的所有内容。它不会花像斯菲尔那样长的时间。感觉就是这样。
一旦完成,我们需要将交换分区恢复为活动交换空间。我们使用swapon命令执行此操作:
sudo swapon /dev/sda5
sdmem命令
安全删除包甚至包含一个工具来擦除计算机中的随机存取存储器(RAM)芯片。
冷启动攻击需要在计算机关闭后不久对其进行物理访问。这种类型的攻击可能允许从您的RAM芯片检索数据。
如果您认为您需要保护自己免受这种类型的攻击-大多数人认为他们需要这样做可能有点夸张-您可以在关闭计算机之前擦除RAM。我们将再次使用-v(详细)和-ll(降低安全性)选项。
sudo sdmem -vll
终端窗口将充满星号,表示sdmem正在您的RAM中工作。
简单的选择:只需加密您的硬盘
与其安全地删除文件,为什么不使用加密来保护您的硬盘或主文件夹呢?
如果这样做,任何人都无法访问任何内容,无论是活动文件还是已删除文件。而且,您不必保持警惕,记住要安全地擦除敏感文件,因为您的所有文件都已受到保护。
大多数Linux发行版都会问你是否想在安装时使用加密,回答“是”会省去很多将来的麻烦。您不能处理秘密或敏感信息。但是,如果你认为当你用完电脑后,你可能会把它送给或卖给别人,加密也会简化这一点。