CentOS 7 彻底删除文件和文件夹的三种方式

时间:2024-02-21 11:42:50

随着数据泄露的数量不断增加,以及围绕数据安全的监管日益严格 - 现在确保您安全地擦除旧数据比以往任何时候都更加重要。

物理破坏硬盘驱动器被广泛认为是最安全的方法,但并不总是可行的。

如果您像我们一样使用云服务器,则没有此选项。

同样,租用的服务器很少让您选择在合同结束后保留物理磁盘。

但是,有一系列工具可用于确保在取消 CentOS 服务器之前安全地清除您的数据。

请注意,使用这些命令可能会使您的系统无法使用且数据无法恢复,因此请小心使用并自担风险。

 

第一种:Scrub

Scrub 的工作原理是用随机数据覆盖您的数据,然后删除。

安装命令:

yum -y install scrub

 

删除文件命令:

scrub -r filename

 

Scrub 将显示输出并最终确认删除:

scrub: using NNSA NAP-14.1-C patterns
scrub: padding filename with 4088 bytes to fill last fs block
scrub: scrubbing filename 4096 bytes
scrub: random  |................................................|
scrub: random  |................................................|
scrub: 0x00    |................................................|
scrub: verify  |................................................|
scrub: unlinking filename

 

它还具有一个方便的功能,可让您确保无法恢复以前删除的文件。 它可以用随机数据填充所有剩余的磁盘空间,然后自动删除它——让所有可用空间得到很好的清理。

确保您在要填充/擦洗的驱动器上并使用:

scrub -X empty

其中“empty”是scrub 将创建然后填充文件的目录的名称。

注意:根据磁盘的大小和速度,这可能需要很长时间才能完成。

 

第二种:Shred

Shred 内置于 CentOS 7 中,其工作方式与清理单个文件的方式类似。

shred -fuv deleteme 

选项说明(-f 强制更改权限,-u 在粉碎后删除文件,-v 给出详细输出)

执行命令输出:

shred: deleteme: pass 1/3 (random)...
shred: deleteme: pass 2/3 (random)...
shred: deleteme: pass 3/3 (random)...
shred: deleteme: removing
shred: deleteme: renamed to 00000000
shred: 00000000: renamed to 0000000
shred: 0000000: renamed to 000000
shred: 000000: renamed to 00000
shred: 00000: renamed to 0000
shred: 0000: renamed to 000
shred: 000: renamed to 00
shred: 00: renamed to 0
shred: deleteme: removed

如您所见,shred 用随机数据覆盖文件 3 次,然后将名称清零,最后将其删除。

它还可用于安全删除目录中的所有文件:

find /directory -type f | xargs shred -fuv

/directory 是需删除的文件目录

 

第三种:SRM

作为“rm”的安全替代方案,srm 包含在 EPEL 存储库中。

启用 EPEL 后,您可以使用简单的方法安装它:

yum -y install srm

用法与 rm 相同 - 但是,它们不仅会取消链接,而且会首先被覆盖。 默认情况下,覆盖只是一次零。 如果您需要更多安全性,您可以通过添加以下标志来更改方法:

-P (3-pass OpenBSD style)
-D (DoD recommended 7 pass)
-G (35 pass Gutmann method)

因此,如果您希望通过 3 次覆盖删除目录,您可以简单地使用:

srm -rfP /directory

 

最后:

如果您的数据特别有价值,则永远不要低估某人为恢复它所做的努力。