在 Linux 中永久安全删除“文件和目录”的 3 种方法
在大多数情况下,我们用来从计算机中删除文件的方法(例如使用Delete
键、垃圾文件或rm
命令),这些方法并不能永久、安全地从计算机中删除文件硬盘(或任何存储介质)。
该文件只是对用户隐藏,并且驻留在硬盘上的某个位置。它可以被数据窃贼、执法部门或其他威胁恢复。
建议阅读: 删除目录中除一个或几个文件之外的所有文件的 3 种方法
假设某个文件包含安全系统的用户名和密码等机密或秘密内容,则具有必要知识和技能的攻击者可以轻松恢复该文件的已删除副本,并访问这些用户凭据(您可能可以猜到这种情况的后果)。
在本文中,我们将解释一些用于在 Linux 中永久安全地删除文件的命令行工具。
1. 粉碎 – 覆盖文件以隐藏内容
shred 覆盖文件以隐藏其内容,并且也可以选择删除它。
shred -zvu -n 5 passwords.list
在下面的命令中,选项:
-z
– 添加最后用零覆盖以隐藏粉碎-v
– 启用显示操作进度-u
– 覆盖后截断并删除文件-n
– 指定覆盖文件内容的次数(默认为3)
您可以在 shred 手册页中找到更多使用选项和信息:
man shred
2. Wipe – 安全擦除 Linux 中的文件
Linux wipe 命令可以安全地从磁存储器中删除文件,从而无法恢复已删除的文件或目录内容。
首先,您需要安装擦除工具,运行以下相应的命令:
sudo apt-get install wipe [On Debian and its derivatives]
sudo yum install wipe [On RedHat based systems]
以下命令将销毁目录 private 下的所有内容。
wipe -rfi private/*
使用标志的地方:
-r
– 告诉擦除递归到子目录-f
– 启用强制删除并禁用确认查询-i
– 显示删除过程的进度
注意:擦除只能在磁存储器上可靠地工作,因此对于固态磁盘(存储器)请使用其他方法。
通读 wipe 手册页以获取其他使用选项和说明:
man wipe
3. Linux 安全删除工具包
Secure-delete是一个安全文件删除工具的集合,其中包含srm(secure_deletion)工具,用于安全地删除文件。
首先,您需要使用以下相关命令安装它:
sudo apt-get install secure-delete [On Debian and its derivatives]
sudo yum install secure-delete [On RedHat based systems]
安装后,您可以使用 srm 工具在 Linux 系统上安全地删除文件或目录,如下所示。
srm -vz private/*
其中使用的选项:
-v
– 启用详细模式-z
– 用零而不是随机数据擦除最后一次写入
通读 srm 手册页以获取更多使用选项和信息:
man srm
4. sfill - 安全可用磁盘/Inode 空间擦除器
sfill是secure-deletetion工具包的一部分,是一个安全的可用磁盘和inode空间擦除器,它以安全的方式删除可用磁盘空间上的文件。 sfill 检查指定分区上的可用空间,并用 /dev/urandom 中的随机数据填充它。
下面的命令将在我的根分区上执行 sfill,并使用 -v
开关启用详细模式:
sudo sfill -v /home/aaronkilik/tmp/
假设您创建了一个单独的分区 /home
来存储普通系统用户主目录,您可以在该分区上指定一个目录以对其应用 sfill :
sudo sfill -v /home/username
您可以在手册页中阅读有关 sfill 的一些限制,您还可以在其中找到其他使用标志和说明:
man sfill
注意:secure-deletetion中的以下两个工具(sswap和sdmem)工具包与本指南的范围没有直接关系,但是,我们将出于知识目的和将来的使用对其进行解释。
5. sswap – 安全交换擦拭器
它是一个安全分区擦除器,sswap 以安全的方式删除交换分区上的数据。
注意:在使用sswap之前记得卸载swap分区!否则你的系统可能会崩溃!
只需确定您的交换分区(并使用 swapon 命令检查分页和交换设备/文件是否打开),接下来,使用 swapoff 命令禁用分页和交换设备/文件(导致交换分区不可用)。
然后在交换分区上运行sswap命令:
cat /proc/swaps
swapon
sudo swapoff /dev/sda6
sudo sswap /dev/sda6 #this command may take some time to complete with 38 default passes
努力阅读 sswap 手册页以获取更多使用选项和信息:
man sswap
6. sdmem – 安全内存擦除器
sdmem 是一种安全内存擦除器,它旨在以安全的方式删除内存 (RAM) 中存在的数据。
它最初被命名为 smem,但由于在 Debain 系统上存在另一个名为 smem 的软件包 - 报告每个进程和每个用户的内存消耗,开发人员决定将其重命名为 sdmem。
sudo sdmem -f -v
有关更多使用信息,请阅读 sdmem 手册页:
man sdmem
建议阅读: PhotoRec – 在 Linux 中恢复已删除或丢失的文件
就是这样!在本文中,我们回顾了一些用于在 Linux 中永久且安全地删除文件的命令行工具。像往常一样,通过下面的评论表提出您对这篇文章的想法或建议。