Linux安全删除工具的使用方法帮助用户彻底删除数据

Linux安全删除工具的使用方法帮助用户彻底删除数据

普通 Linux 用户删除磁盘数据的常规方法主要有:删除和格式化。

“删除”是删除数据最便捷的方法,如 Linux 用户最经常采用“rm”删除命令。实际上并没有真正的将数据从硬盘上删除,只是将文件的索引删除而已,让操作系统和使用者认为文件已经删除,又可以把腾出空间存储新的数据。这种方法是最不安全的,只能欺骗普通使用者,但也是大家所熟知的。数据恢复极易恢复此类不见的数据,而且也有很多专门进行数据恢复的软件。

“格式化”有许多不同的含义:物理的或低级格式化、操作系统的格式化、快速格式化、分区格式化等等…大多数情况下,普通用户采用的格式化不会影响到硬盘上的数据。格式化仅仅是为操作系统创建一个全新的空的文件索引,将所有的扇区标记为“未使用”的状态,让操作系统认为硬盘上没有文件。因此,格式化后的硬盘数据也是能够恢复的,也就意味着数据的不安全。

安全删除工具的工作原理

由于磁盘可以重复使用,前面的数据被后面的数据覆盖后,前面的数据被还原的可能性就大大降低了,随着被覆盖次数的增多,能够被还原的可能性就趋于 0,但相应的时间支出也就越多。密级要求的高低对应着不同的标准,低密级要求的就是一次性将磁盘全部覆盖;高密级要求则须进行多次多规则覆盖。 通常有两个参考标准: 美国国防部 DOD 的 5220.22M 标准;北约 NATO 的标准 。参考标准实质就是多次覆盖的标准,规定了覆盖数据的次数,覆盖数据的形式。

覆盖原理(overwriting)

覆盖是指使用预先定义的格式——无意义、无规律的信息来覆盖硬盘上原先存储的数据。这是销毁数据的既有效又可操作的方法。如果数据被“成功”的完全覆盖,即使只覆盖一次,也可以认为数据是不可恢复的。硬盘上的数据都是以二进制的“1”和“0”形式存储的。完全覆盖后也就无法知道原先的数据是“1”还是“0”了,也就达到了清除数据的目的。

覆盖的方法: 根据覆盖时的具体顺序,软件覆盖分为逐位覆盖、跳位覆盖、随机覆盖等模式,根据时间、密级的不同要求,可组合使用上述模式,可靠的专业清除软件应同时支持多种模式。

使用 shred

hared 简介

shred 功能简单的说就是涂鸦,把一个文件用随机的字符码篡改的一塌糊涂。其宗旨就是更安全地帮助删除一个机密文件。shred 命令的功能是重复覆盖文件,使得即使是昂贵的硬件探测仪器也难以将数据复原,这条命令的功能足够适合实现文件粉碎的功效。

shred 使用方法

首先安装:

#apt-get install coreutils

命令格式: shred [ 选项 ]... 文件 ...

长选项必须使用的参数对于短选项时也是必需使用的。

-f, --force 必要时修改权限以使目标可写

-n, --iterations=N 覆盖 N 次,而非使用默认的 3 次

--random-source= 文件 从指定文件中取出随机字节

-s, --size=N 粉碎数据为指定字节的碎片

-u, --remove 覆盖后截断并删除文件

-v, --verbose 显示详细信息

-x, --exact 不将文件大小增加至最接近的块大小

-z, --zero 最后一次使用 0 进行覆盖以隐藏覆盖动作

应用实例:

使用方法举例如下:

粉碎一个名为 test.txt 的文件命令是:

$shred –u test.txt

粉碎多个文件的命令是:

$shred –u test1.txt test2.txt

覆盖 IDE 接口的第一个磁盘设备的第一分区

$shred /dev/hda0

覆盖 RAID 分区

$ shred -vfz -n 10 /dev/md1