如何在linux上安全地删除文件

撕碎旧数据文件的原因与撕碎旧纸质文档的原因相同。我们将告诉您有关安全删除Linux文件的需要了解的内容。本教程介绍了shred命令和secure delete实用程序套件。...

撕碎旧数据文件的原因与撕碎旧纸质文档的原因相同。我们将告诉您有关安全删除Linux文件的需要了解的内容。本教程介绍了shred命令和secure delete实用程序套件。

删除的文件通常是可恢复的

删除一个文件实际上并不会将其从硬盘中删除。这完全取决于文件系统使用inode的方式。这些是文件系统中的数据结构,用于保存有关文件的元数据。文件名、文件在硬盘上的位置、文件的属性和权限等都存储在inode中。目录只不过是一个文件本身。保存目录中包含的文件的名称和索引节点号的程序。

使用rm删除文件时,文件系统会释放相应的inode并调整目录文件。这会将文件占用的硬盘空间标记为未使用。想象一下,你走进一个图书馆,浏览卡片索引,找到一本书的目录卡片,然后把它撕碎。这本书还在书架上。只是很难找到。

换句话说,文件使用的空间现在可以自由地供其他文件使用。但是旧文件的内容仍然在那个空间里。在覆盖该空间之前,很有可能可以检索该文件。

但是完全删除一个文件并不像简单地覆盖它们那么简单。我们将看到。

不要对ssd执行此操作

这些技术适用于传统的机电硬盘驱动器(HDD),不应与固态驱动器(SSD)一起使用。它将无法工作,并将导致额外的写入和不必要的磨损,以您的SSD。要安全地擦除SSD中的数据,应使用SSD**商提供的实用程序。

相关:如何在Linux终端中删除文件和目录

粉碎命令

shread是为执行覆盖而设计的,因此无法恢复已删除的文件。它包含在本文研究期间测试的所有Linux发行版中,包括Ubuntu、Fedora和Manjaro。

在本例中,我们将在名为~/research的目录中工作,其中包含许多文本文件。它还包含一些其他目录,这些目录又包含其他文件。我们假设这些文件是敏感的,必须从硬盘上完全删除。

我们可以使用tree命令查看目录树结构,如下所示。d(directory)选项使树只列出目录,而不列出所有文件。目录树结构如下所示:

tree -d

如何在linux上安全地删除文件

分解单个文件

要分解单个文件,可以使用以下命令。我们使用的选项有:

  • u:取消分配并在覆盖后删除文件。
  • v:详细选项,所以shread告诉我们它在做什么。
  • z:执行最后的覆盖,覆盖值为零。
shred -uvz Preliminary_Notes.txt_01.txt

如何在linux上安全地删除文件

默认情况下,shred会覆盖文件四次。前三个过程使用随机数据,最后一个过程按照我们的要求使用零。然后删除文件并覆盖inode中的一些元数据

如何在linux上安全地删除文件

设置覆盖过程数

我们可以通过使用-n(number)选项要求shresd使用更多或更少的覆盖过程。“碎片”将始终至少使用一次传递。我们在这里提供的数字是我们需要切碎执行的额外传递数。所以史莱德总是比我们要的号码多传球一次。为了获得三张***,我们要求额外的两张***:

shred -uvz -n 2 Preliminary_Notes.txt_02.txt

如何在linux上安全地删除文件

正如所料,史莱德做了三次传球。

如何在linux上安全地删除文件

如果你愿意的话,通过的次数越少,切碎的次数就越少,速度显然更快。但安全性会降低吗?有趣的是,三次传球可能就足够了。

相关:您只需要擦除一次磁盘就可以安全地擦除它

分解多个文件

通配符可以与shread一起使用,以选择要擦除的文件组。*代表多个字符,而?表示单个字符。此命令将删除当前工作目录中所有剩余的“初步注释”文件。

shred -uvz -n 2 Preliminary_Notes_*.*

如何在linux上安全地删除文件

其余的文件依次由shread处理。

如何在linux上安全地删除文件

shred没有递归选项,因此不能用于删除嵌套目录的目录树。

安全删除文件的问题

这是一个问题。现代日志文件系统,如ext3和ext4,需要付出巨大的努力来确保它们不会损坏、损坏或丢失数据。对于日志文件系统,无法保证覆盖确实发生在被删除文件使用的硬盘空间上。

如果你只是想让文件删除得比rm更彻底一点,那么切碎就可以了。但不要错误地认为数据肯定已经不存在,而且完全无法恢复。很可能不是这样。

相关:为什么你不能“安全地删除”一个文件,以及该怎么做

安全删除套件

secure delete命令试图克服记录文件系统的最大努力,并成功地安全地覆盖文件。但同样的警告也适用。仍然不能保证覆盖确实发生在您需要它来删除感兴趣的文件的硬盘区域上。有更多的机会,但不能保证。

安全删除命令使用以下覆盖和操作序列:

  • 1用0xFF值字节覆盖。
  • 5用随机数据覆盖。
  • 27用Peter Gutmann定义的特殊值覆盖。
  • 用随机数据再覆盖5次。
  • 将文件重命名为随机值。
  • 截断文件。

如果你觉得这些都太过分了,那你就有好朋友了。在奥克兰大学教授彼得·古特曼看来,这也太过分了。他在1996年发表了一篇讨论这些技术的论文,由此产生了一个城市神话:你需要同时使用论文中讨论的所有技术。

彼得·古特曼(Peter Gutmann)后来试图让精灵回到瓶子里,他说:“用随机数据好好擦洗一下,效果会和预期的一样好。”

但我们现在就在这里,这些是安全删除命令使用的一系列技术。但首先,我们需要安装它们。

安装安全删除

如果您使用的是Ubuntu或其他基于Debian的发行版,请使用apt get将此软件包安装到您的系统上。在其他Linux发行版上,请改用Linux发行版的包管理工具。

sudo apt-get install secure-delete

如何在linux上安全地删除文件

secure delete包中包含四个命令。

  1. srm是一种安全的rm,用于通过删除文件并覆盖其硬盘空间来擦除文件。
  2. sfill是一个覆盖硬盘上所有可用空间的工具。
  3. sswap用于覆盖和清除交换空间。
  4. sdmem是用来清洁你的公羊。

srm命令

使用srm命令与使用rm命令一样多。要删除单个文件,请使用以下命令。z(zeroes)选项使**r在最终擦除时使用零,而不是随机数据。v(verbose)选项使srm通知我们它的进度。

srm -vz Chapter_One_01.txt

如何在linux上安全地删除文件

首先你会注意到srm是慢的。它在工作时确实提供了一些视觉反馈,但是当您再次看到命令提示符时,它就松了一口气。

如何在linux上安全地删除文件

您可以使用-l(reduce security)选项将传递的次数减少到两次,这会大大加快速度。

srm -lvz Chapter_One_02.txt

如何在linux上安全地删除文件

srm告诉我们,它认为这样做不太安全,但它仍然为我们删除和覆盖文件。

如何在linux上安全地删除文件

您可以使用-l(reduce security)选项两次,将传递次数减少到一次。

srm -llvz Chapter_One_03.txt

如何在linux上安全地删除文件

对多个文件使用srm

我们也可以在srm中使用通配符。此命令将擦除第一章的其余部分:

srm -vc Chapter_One_0?.txt

如何在linux上安全地删除文件

文件依次由srm处理。

如何在linux上安全地删除文件

用srm删除目录及其内容

r(recursive)选项将使srm删除所有子目录及其内容。您可以将第一个目录的路径传递给srm。

在本例中,我们将删除当前目录~/research中的所有内容。这意味着~/research中的所有文件和所有子目录都被安全删除。

srm -vz *

如何在linux上安全地删除文件

srm开始处理目录和文件。

如何在linux上安全地删除文件

它最终会将您返回到命令提示符。在本文所研究的测试机上,删除分布在当前目录和三个嵌套目录之间的大约200个文件花费了大约一个小时。

如何在linux上安全地删除文件

所有文件和子目录都按预期删除。

斯菲尔司令部

如果您关心的是一个使用rm删除的文件,那么如何检查旧文件并确保它被覆盖呢?sfill命令将覆盖硬盘上的所有可用空间。

当它这样做时,你会注意到你的硬盘上的可用空间越来越少,一直到没有可用空间的地步。当sfill完成时,它会将所有可用空间释放给您。如果您管理的是多用户系统,这将是非常具有破坏性的,因此这是一项维护任务,应该在几个小时之外执行。

即使是在单用户计算机上,硬盘空间的损失也意味着一旦sfill使用了大部分空间,硬盘就无法使用。这是一些你会开始,然后离开。

为了加快速度,可以使用-l(减少安全性)选项。其他选项是我们前面看到的-v(详细)和-z(零)选项。这里,我们要求sfill安全地覆盖/home目录中的所有可用空间。

sudo sfill -lvz /home

如何在linux上安全地删除文件

让自己舒服点。在一台只有10GB硬盘的测试计算机上,这是从下午开始的,在一夜之间完成的。

如何在linux上安全地删除文件

它会翻腾几个小时。这就是-l(减少安全性)选项。但是,最终,您将返回到命令提示符。

sswap命令

sswap命令覆盖交换分区中的存储。我们需要做的第一件事是识别交换分区。我们可以用blkid命令来实现这一点,它列出了块设备。

sudo blkid

如何在linux上安全地删除文件

您需要找到单词“swap”,并记下它所连接的块设备。

如何在linux上安全地删除文件

我们可以看到交换分区连接到/dev/sda5。

我们需要在覆盖期间关闭对交换分区的磁盘写入。我们将使用swapoff命令:

sudo swapoff /dev/sda5

如何在linux上安全地删除文件

我们现在可以使用sswap命令。

我们将使用/dev/sda5作为sswap命令行的一部分。我们还将使用-v(verbose)选项和-ll(reduce security)选项,这是我们之前使用的。

sudo sswap -llv /dev/sda5

如何在linux上安全地删除文件

sswap开始遍历交换分区,覆盖其中的所有内容。不用花那么长时间。感觉就是这样。

一旦完成,我们需要将交换分区恢复为活动交换空间。我们使用swapon命令执行此操作:

sudo swapon /dev/sda5

如何在linux上安全地删除文件

sdmem命令

安全删除软件包甚至包含一个工具,可以擦除计算机中的随机存取存储器(RAM)芯片。

冷启动攻击需要在计算机关闭后很快对其进行物理访问。这种类型的攻击可能允许从RAM芯片检索数据。

如果你认为你需要保护自己免受这类攻击,而大多数人认为他们需要这样做,那你可以在关闭电脑前擦除内存。我们将再次使用-v(verbose)和-ll(reduce security)选项。

sudo sdmem -vll

如何在linux上安全地删除文件

终端窗口将充满星号,表示sdmem正在通过RAM工作。

如何在linux上安全地删除文件

简单的选择:只需加密你的驱动器

与其安全地删除文件,为什么不使用加密保护硬盘或主文件夹?

如果这样做,任何人都无法访问任何内容,无论是活动文件还是已删除文件。你不必保持警惕,记住安全地删除敏感文件,因为你的所有文件都已经受到保护。

大多数Linux发行版都会询问您是否希望在安装时使用加密。说“是”可以避免很多将来的烦恼。你不能处理秘密或敏感信息。但是,如果你认为你可能会把电脑交给或卖给别人,当你完成它,加密将简化这一点。

  • 发表于 2021-04-03 10:54
  • 阅读 ( 192 )
  • 分类:互联网

你可能感兴趣的文章

如何在ubuntu中加密文件和文件夹

在任何平台上,加密都是每个人都应该认真对待的事情。你可能认为你在Linux上比在Windows甚至macOS上更安全。但是Linux真的像你想象的那样安全吗? ...

  • 发布于 2021-03-11 16:31
  • 阅读 ( 852 )

SSD真的可以安全地删除您的数据吗?下面是方法

... 当然,不可能永远存在预调零块。虽然SSD知道如何将指针重定向到预调零的块,但它不知道操作系统标记的未使用块。这就是修剪的步骤。TRIM命令允许操作系统通知SSD哪些块可用于预调零,从而节省时间并保持写入...

  • 发布于 2021-03-11 19:03
  • 阅读 ( 379 )

如何安全地清理受感染的计算机并复制文件

... 所以,这里是如何安全地从受感染的计算机复制文件,并在此过程中进行清理。 ...

  • 发布于 2021-03-19 09:07
  • 阅读 ( 208 )

如何从windows双启动pc安全卸载ubuntu

... 简而言之,你需要从你的电脑上卸载Ubuntu。你如何安全地做到这一点,而不丢失Ubuntu或Windows的数据? ...

  • 发布于 2021-03-21 17:45
  • 阅读 ( 244 )

linux中如何隐藏图像中的文件

... 但如果你的家人和朋友中有人精通技术,他们就会知道如何查看你隐藏的文件和文件夹。因此,您需要一种不太明显的方式来隐藏文件和文件夹。您可以使用一种称为隐写术的数据加密形式,它将信息隐藏在普通图像文件中。...

  • 发布于 2021-03-26 09:53
  • 阅读 ( 161 )

如何在linux下访问和使用windowscdrive

你在你的电脑上运行Linux,但你也安装了Windows。这是一个双引导,但有时您希望在两个操作系统之间共享数据。 ...

  • 发布于 2021-03-26 10:17
  • 阅读 ( 203 )

如何在linux中轻松地加密和解密文件和目录

你有没有想过在Linux中快速、轻松地加密文件,而不必安装和学习新的软件包?这里有一个很好的和简单的方法,可以通过AES256加密文件或目录,并用密码保护,帮助您的文件远离窥探的眼睛。 ...

  • 发布于 2021-03-26 14:56
  • 阅读 ( 178 )

如何在arch linux中安装和删除软件包

想在Arch Linux上安装软件包但不知道如何安装?很多人在第一次从基于Debian的发行版迁移到Arch时都面临这个问题。但是,您可以使用包管理器在基于Arch的系统上轻松地管理包。 ...

  • 发布于 2021-03-28 02:18
  • 阅读 ( 462 )

如何在linux上查找和删除断开的符号链接

...棒的特性,但是它们可能会断开并指向任何东西。下面是如何找到断开的符号链接,检查它们,并在需要时从系统中删除它们。 符号链接101 符号链接,也称为“软链接”和“符号链接”,是一种可以指向文件和目录的快捷方...

  • 发布于 2021-04-01 09:09
  • 阅读 ( 209 )

如何安装linux

...你不喜欢,只要重新启动,你就会回到Windows。下面介绍如何开始使用Linux。 选择一个linux发行版并下载它 首先,您需要选择要使用的Linux发行版。Linux发行版将Linux内核和其他软件打包成一个您可以使用的完整操作系统。不同的...

  • 发布于 2021-04-01 12:11
  • 阅读 ( 192 )
pjw70632776
pjw70632776

0 篇文章

相关推荐