当前位置: 首页>>技术问答>>正文


如何以安全的方式删除文件?

,

问题描述

有没有办法确保删除的文件无法恢复?

如您所知,按shift-del或使用垃圾桶删除文件并不意味着该文件将永远消失。它驻留在电脑的某个地方。

在日常生活中,执法部门或小偷使用恢复计划来揭示我们的私人数据或其他内容。

他们可以恢复硬盘上,RAM内甚至USB上的所有数据。

为了保护我们免受这些人的伤害,应该怎么做?应该使用哪个程序?

注意:我不需要像第一次使用恢复程序那样的答案,然后使用Shred擦除该文件。只需一个程序,我想删除我电脑上所有未使用/删除的文件。

最佳解决办法

Shred

该命令行工具已经从Ubuntu的核心实用程序安装,以便使用Gutman method安全地擦除和覆盖单个文件。

快速切碎

shred -vzn 0 /dev/sdc1

通过在单次迭代中用0 s覆盖全部内容来擦除整个分区。如果没有法律方面要求另一个程序,那么这样做很可能安全地删除您的私人数据。Craig Wright计算机科学讲义,2008,5352,243-257。

安全粉碎

shred -vzn 3 /dev/sdc1

用随机数的3次迭代擦除整个分区。另外(选项-z)这将写入零以隐藏最终的粉碎过程。这将比快速方法长4倍。

注意:通过粉碎分区,我们将用0或随机数字覆盖此分区。因此,它会永久地高效地删除该分区上的所有文件系统缓存。这也可以用来删除不需要的已删除文件残余。我们想要保留的文件必须在粉碎之前进行备份。


Wipe

More options,以及除单个文件之外擦除目录的可能性,都由该命令行实用程序提供。

wipe filename
wipe -r dirname

有关日记文件系统和SSD的其他说明:

  • 在删除单个文件时,请阅读链接联机帮助页中有关日志文件系统中仍然可恢复的备份引起的安全问题的说明。即使使用日志文件系统,覆盖整个分区而不是单个文件也会有效地清除所有数据。

  • 擦除固态硬盘(SSD)上的数据只能通过多次重写覆盖整个驱动器(不仅仅是单个分区)来完成。某些SSD可能具有内置功能来擦除数据,但这可能并不总是有效(请参阅评论中的this link)。目前没有关于擦除过程或擦除迭代次数的一般建议,以便安全地删除所有可用SSD上的所有数据残留。

这些选项可以在Nautilus和Thunar的上下文菜单中添加。

  • 在Thunar中,打开”Edit”,然后“配置自定义操作”

添加(加号)

名称”Shred File”

说明你喜欢什么

行动“撕碎-u%f”

对于wipe也是如此。

选择”Appearance Conditions”并选择”Other Files”

次佳解决办法

没有一个可以运行的命令可以轻松清理所有already-deleted文件。但是,您可以采取许多措施来减少您将来遭受此类攻击的风险。

正如其他人所说的那样,使用碎片或srm等工具可让您通过实际覆盖特定文件来删除特定文件,而不是将其从文件系统中删除。如果您感觉粗体,则可以用shredsrm替换rm命令以安全删除前进的文件。这意味着只要您(或其他程序)试图使用rm删除某些内容,安全删除命令就会运行。

但是,如果您使用的是固态硬盘,或者甚至是一些较新的机械硬盘,则碎片和其他overwriting-based方法可能无效,因为该磁盘可能实际上并未写入您认为正在写入的地方(source)。


Full-Disk加密

更方便的选项是full-disk加密。如果您使用alternate installer,Ubuntu可以为您自动设置fully-encrypted磁盘,但您也可以自行定制和配置设置。一旦安装完成,加密对你来说几乎是不可见的:当你在计算机启动时输入密码(确保选择一个好的,长的密码),所有的外观和感觉就像普通的Ubuntu一样。

您也可以使用Ubuntu的磁盘工具加密外部媒体,如USB驱动器。设置加密的外部磁盘与在格式化磁盘时检查“加密底层文件系统”框一样简单。您甚至可以将密码存储在(加密的)密钥环中,以便每次将该磁盘插入计算机时都不需要输入短语。

如果您的整个磁盘以及所有可移动媒体都已加密,那么您就不用担心了。小偷或警务人员在打开电脑时需要轻扫一下(或者如果他们是very good,在关闭电脑的一两分钟内)以便访问您的数据。如果您在不使用计算机时休眠(而不是暂停),那么您应该非常安全。

如果您需要彻底销毁所有数据,则无需对整个磁盘执行Gutmann wipe操作。简单地覆盖磁盘的最开始部分,销毁加密卷的标题。与常规文件系统不同,这实际上会使恢复数据变得不可能。


那么,您如何从当前的设置转到安全加密的磁盘?将currently-installed操作系统改装为使用加密磁盘是一项相当大的挑战。最简单的方法是备份所有数据和设置,然后使用加密磁盘重新安装。备份时,请确保将数据备份到加密的外部驱动器,但不要将密码保存在密钥环中。

将所有数据备份后,您可能需要使用aggressively wipe硬盘驱动器,以确保您的现有数据未来无法恢复。如果你使用的是固态硬盘,这个过程更具挑战性,所以取决于你想要在这个过程中投入多少资金,可能需要销毁你当前的磁盘(一个challenging proposition),并从一个新的开始。

重新安装操作系统时,如果您尚未积极擦除磁盘,则应确保完全填充新的加密分区,这将覆盖您的所有旧数据。一旦你恢复了你的备份,你可能想积极地清除备份磁盘的开始,销毁加密头,以便它不能再被恢复。

第三种解决办法

更新:如果您尚未删除您想要成为non-recoverable的文件,请使用接受的答案。但是,如果你已经删除了这个文件,那么这是我知道的下一个最好的方法。

如果我正确地读了你的话,你想删除你之前删除的所有文件。这是一个简单的方法来做到这一点:

$ dd if=/dev/zero of=/path/to/mounted/partition/tmp_file bs=1M count=999999999999

让它运行,直到它抱怨,直到它得到一个磁盘写入错误[空间不足]。然后删除该文件!它所做的只是用000s填满你的空磁盘,所有以前的文件都会被覆盖。确保现在删除文件,否则您将不会有任何磁盘。如果你真的偏执,你可能会想这样做几次。或者如果你想随机写入你的磁盘,我建议用/dev/urandom替换/dev/zero

然而,这需要更长的时间,所以我会在一夜之间运行它。另外,如果你想要一个进度表,请改为:

$ free=$( df {PARTITION OR MOUNTPOINT}  |awk '{print $3}'|tail -1 )
$ dd if=/dev/zero bs=1M count=999999999999 | pv -s "$free" > /path/to/mounted/partition/tmp_file

首先,用du,awk和tail获得可用磁盘空间,然后使用dd获取/dev /zero,然后将其传送到pv(代表”pipe viewer”),将所有内容重定向到tmp_file。再次删除文件。 $ rm tmp_file

无论如何,希望有人认为这有用! 🙂

第四种办法

首先,用终端上的rm或 nautilus 上的shift-delete删除文件。更好的是,使用Secure-Delete tools包中的srm

您可以像这样安装安全删除工具:

apt-get install secure-delete

其次,使用sfill擦除磁盘上未使用的空间:

sudo sfill -f <directory>

这需要一些时间,因为它使用加密技术来填充磁盘。

警告:这是通过你的整个文件系统,而你是根。小心使用!

这将创建一个文件,清除所有以前存在的数据。该文件将在<directory>中创建。

第五种办法

这个GUI程序是BleachBit(它也在源代码中)。 BleachBit Sourceforge page最近的(deb文件)版本。

除了简单地删除文件之外,它还包含高级功能,如粉碎文件以防止恢复,擦除可用磁盘空间以隐藏其他应用程序删除的文件的痕迹。

“BleachBit quickly frees disk space and tirelessly guards your privacy. Free cache, delete cookies, clear Internet history, shred temporary files, delete logs, and discard junk you didn’t know was there. Designed for Linux and Windows systems, it wipes clean 90 applications including Firefox (vacuuming to make it faster), Internet Explorer, Adobe Flash, Google Chrome, Opera, Safari and more.” (from http://bleachbit.sourceforge.net/)

BleachBit有几个先进的清洁工:

  • 清除Linux上的内存和交换

  • 删除Linux上已损坏的快捷方式

  • 删除Firefox URL历史记录而不删除整个文件 – 可选粉碎

  • 查找widely-scatted垃圾例如Thumbs.db和.DS_Store文件。

  • 删除OpenOffice.org最近的文档列表而不删除整个Common.xcu文件

  • 覆盖可用磁盘空间以隐藏以前的文件

  • 真空Firefox,谷歌浏览器,Liferea,Thunderbird和Yum数据库:在不移除数据的情况下缩小文件以节省空间并提高速度

  • 手术删除.ini和JSON配置文件中的私人信息并删除整个文件

有关如何使用Bleachbit安全删除特定文件和文件夹的详细信息,请参阅this answer

第六种办法

如果你想要一个不会受到病态痴迷个体阻碍的解决方案,那么你应该考虑一些组合(受限于货币资源):

  • 消磁 – 磁力擦除硬盘驱动器

  • 物理禁用硬盘 – 即工业打孔

  • 酸洗澡< – 你不能从一堆咕噜声中得到零碎。

这些解决方案的成本和成本都非常大。别出心裁。一些:

第七种办法

我会说解决方案是这里给出的几个答案的组合。对于仍在使用的already-deleted文件和分区,我同意马特。

然后,为了将来我建议开始使用secure-delete工具而不是简单的’rm’。

最后,当可以重新格式化分区时,应考虑加密分区的选项。也许使用一些像Truecrypt一样提供Plausible deniability的方法

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/254.html,未经允许,请勿转载。