有没有办法确保已删除的文件无法恢复?
你知道,按 Shift-Del 或使用回收站删除文件并不意味着文件永远消失了。它仍驻留在计算机的某个地方。
在日常生活中,执法人员或窃贼会使用恢复程序来泄露我们的私人数据或其他信息。
他们可以恢复硬盘、RAM 甚至 USB 上的所有数据。
为了保护我们免受这些人的侵害,我们应该怎么做?应该使用哪个程序?
注意:我不想得到这样的答案:先使用恢复程序,然后用 Shred 删除该文件。我只想要一个程序,就能删除计算机上所有未使用/已删除的文件。
答案1
撕碎
此命令行工具已从 Ubuntu 的核心实用程序中安装,可使用古特曼方法。
快速粉碎
shred -vzn 0 /dev/sdc1
通过0
在一次迭代中用 s 覆盖所有内容来擦除整个分区。如果没有法律方面要求另一个程序,那么这样做很可能是安全的,可以安全地删除您的私人数据。
来自Craig Wright 计算机科学讲稿,2008 年,5352,243-257。
安全粉碎
shred -vzn 3 /dev/sdc1
使用随机数进行 3 次迭代来擦除整个分区。此外(选项-z
),这会在最后写入零以隐藏粉碎过程。这将比快速方法花费 4 倍的时间。
笔记:通过粉碎分区,我们将用0
或随机数覆盖该分区。因此,它可以有效地永久删除该分区上的所有内容,包括文件系统缓存。这也可以用于删除已删除文件的不需要的残留物。我们想要保留的文件必须在粉碎之前进行备份。
擦拭
更多的选择,并且此命令行实用程序提供了删除目录和单个文件的可能性。
wipe filename
wipe -r dirname
关于日志文件系统和 SSD 的附加说明:
请阅读链接的手册页中有关在删除单个文件时日志文件系统中仍可恢复的备份引起的安全问题的说明。即使使用日志文件系统,覆盖整个分区而不是单个文件也会有效地删除所有数据。
擦除固态硬盘 (SSD) 上的数据只能通过覆盖来完成整个行程(不仅仅是单个分区)多次迭代。一些 SSD 可能具有内置数据擦除功能,但这可能并不总是有效的(请参阅此链接来自评论)。目前,尚无关于擦除过程或擦除迭代次数的一般建议,以安全地删除所有可用 SSD 上的所有数据残留。
这些选项可以添加到 Nautilus 和 Thunar 的上下文菜单中。
- 在 Thunar 中,打开“编辑”,然后打开“配置自定义操作”
添加(加号)
命名为“碎纸文件”
描述随便你
操作“shred -u %f”
对于 也类似wipe
。
- 对于 Nautilus,请参阅这个问题以及相关
选择“外观条件”,选择“其他文件”
答案2
没有一个命令可以轻易地帮你清除所有已删除的文件。不过,你可以采取一些措施来减少将来遭受此类攻击的可能性。
正如其他人所说,使用诸如 shred 或管理允许您通过实际覆盖来删除特定文件,而不仅仅是将其从文件系统中删除。如果您觉得大胆,您可以将命令替换rm
为shred
或,srm
以便安全地删除文件。这意味着每当您(或其他程序)尝试使用删除某些内容时rm
,都会运行安全删除命令。
但是,如果你使用的是固态硬盘,甚至是一些较新的机械硬盘,那么碎片化和其他基于覆盖的方法可能并不有效,因为硬盘实际上可能并没有在你认为正在写入的位置写入数据(来源)。
全盘加密
更方便的选择是全盘加密。如果您使用替代安装程序Ubuntu 可以自动为您设置完全加密的磁盘,但您也可以自行自定义和配置设置。安装后,加密对您来说几乎是不可见的:在计算机启动时输入密码(请务必选择一个好的长密码)后,一切看起来和感觉都与正常的 Ubuntu 一样。
您还可以使用 Ubuntu 的磁盘实用程序加密外部媒体(如 USB 驱动器)。设置加密的外部磁盘非常简单,只需在格式化磁盘时选中“加密底层文件系统”框即可。您甚至可以将密码存储在(加密的)密钥环上,这样您就不必每次将该磁盘插入计算机时都输入该密码。
如果你的整个磁盘——以及所有可移动媒体——都加密了,你就不用担心了。小偷或警察需要在电脑开机时偷走你的电脑(如果他们被盗,则在关机一两分钟内偷走)。非常好) 才能访问您的数据。如果您在不使用计算机时将其休眠(而不是挂起),那么您应该会非常安全。
如果你需要彻底销毁所有数据,你不需要古特曼擦拭整个磁盘。只需覆盖磁盘的最开始部分,即可破坏加密卷的标头。与常规文件系统不同,这实际上会使数据无法恢复。
那么,如何从当前设置过渡到安全加密的磁盘?改造当前安装的操作系统以使用加密磁盘是一项相当大的挑战。最简单的方法是备份所有数据和设置,然后使用加密磁盘重新安装。备份时,请确保将数据备份到加密的外部驱动器,但不要将密码保存在密钥环中。
备份完所有内容后,你可能需要积极擦拭硬盘驱动器,以确保将来无法恢复现有数据。如果您使用的是 SSD,则该过程更具挑战性,因此,根据您想要在该过程中投入的资金,销毁当前磁盘(具有挑战性的主张) 并从新的开始。
重新安装操作系统时,如果您尚未彻底清除磁盘,则应确保完全填充新的加密分区,这将覆盖所有旧数据。恢复备份后,您可能需要彻底清除备份磁盘的开头,以销毁加密标头,以便无法再次恢复。
答案3
更新:如果您尚未删除要恢复的文件,请使用可接受的答案。但是,如果您已经删除了文件,那么这是我所知道的下一个最佳方法。
如果我没看错,你想删除所有之前删除的文件。以下是一个简单的方法:
$ dd if=/dev/zero of=/path/to/mounted/partition/tmp_file bs=1M count=999999999999
让它运行,直到它抱怨,直到它出现磁盘写入错误 [空间不足]。然后删除文件!这样做只会用 000 填满你的空磁盘,这样你之前的所有文件都会被覆盖。确保现在删除该文件,否则你将没有剩余的磁盘。如果你真的偏执狂。或者,如果您想将随机内容写入磁盘,我建议将其替换/dev/zero
为/dev/urandom
。
但是,这会花费更长的时间,所以我会通宵运行。另外,如果您想要进度表,请改为执行以下操作:
$ 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
代表“管道查看器”的路径,将所有内容重定向tmp_file
到之后再次删除该文件。 $ rm tmp_file
无论如何,希望有人发现这很有用!:)
答案4
AGUI 程序因为这是漂白剂(它也在源代码中)。更新的(deb 文件)版本位于BleachBit Sourceforge 页面。
除了简单地删除文件之外,它还包括以下高级功能:粉碎文件以防止恢复,清除可用磁盘空间隐藏其他应用程序删除的文件的痕迹。
“BleachBit 可快速释放磁盘空间并不懈地保护您的隐私。释放缓存、删除 cookie、清除 Internet 历史记录、粉碎临时文件、删除日志并丢弃您不知道的垃圾。它专为 Linux 和 Windows 系统设计,可清除 90 个应用程序,包括 Firefox(通过清理使其更快)、Internet Explorer、Adobe Flash、Google Chrome、Opera、Safari 等。”(来自http://bleachbit.sourceforge.net/)
BleachBit 有几种先进的清洁剂:
- 清除 Linux 上的内存和交换
- 删除 Linux 上损坏的快捷方式
- 删除 Firefox URL 历史记录而不删除整个文件 - 带有可选的粉碎功能
- 查找广泛分布的垃圾文件,例如 Thumbs.db 和 .DS_Store 文件。
- 删除 OpenOffice.org 的最近文档列表,但不删除整个 Common.xcu 文件
- 覆盖可用磁盘空间以隐藏以前的文件
- 清理 Firefox、Google Chrome、Liferea、Thunderbird 和 Yum 数据库:在不删除数据的情况下压缩文件以节省空间并提高速度
- 通过删除整个文件,精准删除 .ini 和 JSON 配置文件中的私人信息
有关如何使用 Bleachbit 安全删除特定文件和文件夹的详细信息,请参阅这个答案。