内容简介:在大多数情况下,我们习惯于使用 Delete 键、垃圾箱或 rm 命令从我们的计算机中删除文件,但这不是永久安全地从硬盘中(或任何存储介质)删除文件的方法。
在大多数情况下,我们习惯于使用 Delete
键、垃圾箱或 rm
命令从我们的计算机中删除文件,但这不是永久安全地从硬盘中(或任何存储介质)删除文件的方法。
该文件只是对用户隐藏,它驻留在硬盘上的某个地方。它有可能被数据窃贼、执法取证或其它方式来恢复。
假设文件包含密级或机密内容,例如安全系统的用户名和密码,具有必要知识和技能的攻击者可以轻松地恢复删除文件的副本并访问这些用户凭证(你可以猜测到这种情况的后果)。
在本文中,我们将解释一些命令行工具,用于永久并安全地删除 Linux 中的文件。
1、 shred – 覆盖文件来隐藏内容
shred
会覆盖文件来隐藏它的内容,并且也可以选择删除它。
1 |
$ shred -zvu -n 5 passwords.list |
在下面的命令中,选项有:
1 2 3 4 |
-z - 用零覆盖以隐藏碎片 -v - 显示操作进度 -u - 在覆盖后截断并删除文件 -n - 指定覆盖文件内容的次数(默认值为3) |
shred – 覆盖文件来隐藏它的内容
你可以在 shred
的帮助页中找到更多的用法选项和信息:
1 |
$ man shred |
2、 wipe – 在 Linux 中安全删除文件
wipe
命令可以安全地擦除磁盘中的文件,从而不可能恢复删除的文件或目录内容。
首先,你需要安装 wipe
工具,运行以下适当的命令:
1 2 |
$ sudo apt-get install wipe [Debian 及其衍生版] $ sudo yum install wipe [基于 RedHat 的系统] |
下面的命令会销毁 private 目录下的所有文件。
1 |
$ wipe -rfi private/* |
当使用下面的标志时:
1 2 3 |
-r - 告诉 wipe 递归地擦除子目录 -f - 启用强制删除并禁用确认查询 -i - 显示擦除进度 |
wipe – 在 Linux 中安全擦除文件
注意:wipe
仅可以在磁性存储上可以可靠地工作,因此对固态磁盘(内存)请使用其他方法。
阅读 wipe
手册以获取其他使用选项和说明:
1 |
$ man wipe |
3、 Linux 中的安全删除 工具 集
secure-delete 是一个安全文件删除工具的集合,它包含用于安全删除文件的 srm
(secure_deletion)工具。
首先,你需要使用以下相关命令安装它:
1 2 |
$ sudo apt-get install secure-delete [Debian 及其衍生版] $ sudo yum install secure-delete [基于 RedHat 的系统] |
安装完成后,你可以使用 srm
工具在 Linux 中安全地删除文件和目录。
1 |
$ srm -vz private/* |
下面是使用的选项:
1 2 |
-v – 启用 verbose 模式 -z – 用0而不是随机数据来擦除最后的写入 |
srm – 在 Linux 中安全删除文件
阅读 srm 手册来获取更多的使用选项和信息:
1 |
$ man srm |
4、 sfill -安全免费的磁盘 / inode 空间擦除器
sfill
是 secure-deletetion 工具包的一部分,是一个安全免费的磁盘和 inode 空间擦除器,它以安全的方法删除可用磁盘空间中的文件。 sfill
会检查指定分区上的可用空间,并使用来自 /dev/urandom
的随机数据填充它。
以下命令将在我的根分区上执行 sfill
,使用 `-v’ 选项启用 verbose 模式:
1 |
$ sudo sfill -v /home/aaronkilik/tmp/ |
假设你创建了一个单独的分区 /home
来存储正常的系统用户主目录,你可以在该分区上指定一个目录,以便在其上应用 sfill
:
1 |
$ sudo sfill -v /home/username |
你可以在 sfill 的手册上看到一些限制,你也可以看到额外的使用标志和命令:
1 |
$ man sfill |
注意:secure-deletetion 工具包中的另外两个工具(sswap
和 sdmem
)与本指南的范围不直接相关,但是,为了将来的使用和传播知识的目的,我们会在下面介绍它们。
5、 sswap – 安全 swap 擦除器
它是一个安全的分区擦除器,sswap
以安全的方式删除 swap 分区上存在的数据。
警告:请记住在使用 sswap
之前卸载 swap 分区! 否则你的系统可能会崩溃!
要找到交换分区(并检查分页和交换设备/文件是否已经使用,请使用 swapon
命令),接下来,使用swapoff
命令禁用分页和交换设备/文件(使 swap 分区不可用)。
然后在(关闭的) swap 分区上运行 sswap
命令:
1 2 3 4 |
$ cat /proc/swaps $ swapon $ sudo swapoff /dev/sda6 $ sudo sswap /dev/sda6 #这个命令要花费一些时间,默认要进行 38 遍擦除 |
sswap – 安全 swap 擦除器
阅读 sswap
的手册来获取更多的选项和信息:
1 |
$ man sswap |
6、 sdmem – 安全内存擦除器
sdmem
是一个安全的内存擦除器,其设计目的是以安全的方式删除存储器(RAM)中的数据。
它最初命名为 smem,但是因为在 Debain 系统上存在另一个包 smem – 报告每个进程和每个用户的内存消耗,开发人员决定将它重命名为 sdmem
。
1 |
$ sudo sdmem -f -v |
关于更多的使用信息,阅读 sdmen
的手册:
1 |
$ man sdmem |
推荐阅读: 在 Linux 系统下使用 PhotoRec & TestDisk 工具来恢复文件。
以上所述就是小编给大家介绍的《3 个在 Linux 中永久并安全删除文件和目录的方法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 如何使用Python删除一个文件或文件夹
- Qt ListView 配合Model 显示文件与删除文件
- Go语言的文件操作:文件的读写,文件的新建打开和删除
- 使用脚本批量删除docker镜像文件
- 如何删除文件中的重复行
- 从 git 的历史记录中彻底删除文件或文件夹
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。