点评Ubuntu下的文件安全删除工具

系统 Linux
删除文件或者重新格式化磁盘并不会破坏敏感数据,即使被删除这些数据也可以恢复。彻底删除某些无用数据是好事,但是如果删除的是财务数据、银行帐号密码或者分类公司信息而无法彻底删除就很危险,本文将介绍一些能够在Linux Ubuntu操作系统中安全删除文件的工具。

删除文件或者重新格式化磁盘并不会破坏敏感数据,即使被删除这些数据也可以恢复。彻底删除某些无用数据是好事,但是如果删除的是财务数据、银行帐号密码或者分类公司信息而无法彻底删除就很危险,本文将介绍一些能够在Linux Ubuntu操作系统中安全删除文件的工具。

Shred

虽然shred命令有一些限制,但是shred命令可以很有效地彻底删除文件,使文件很难或者无法恢复。Shred是这样进行彻底删除的:通过使用数据模式对文件进行反复重写以实现最大程度的摧毁,这样即使使用高灵敏度的数据恢复设备也很难恢复数据了。

使用rm命令删除文件实际上并没有毁坏数据,它只是毁坏列有文件位置的索引,使文件的数据块还可以重复使用。因此,使用rm命令删除的文件可以很容易使用特殊设备或者命令进行恢复,前提条件是文件释放的数据库还没有被重复利用。然而,如果在完全是硬盘驱动(HDD)的动态系统,释放的空间只能在几分钟或者几秒钟内进行恢复。

Shred 语句 

shred [option(s)] file(s)_or_devices(s)

    
可用选项

-f, –force – 更改权限允许写入(如有必要)

-n, –iterations=N – 重写N次而不是默认的(25)次

-s, –size=N – 将文件粉碎为很多字节(可使用后缀如K、M、C等)

-u, –remove – 重写后截短和移除文件

-v, –verbose – 显示进程

-x, –exact - do not round file sizes up to the next full block

-z, –zero - add a final overwrite with zeros to hide shredding

-shred 标准输出

–help – 显示帮助并退出

–version – 输出版本信息并退出

Shred示例

1)下列命令能够用于安全删除三个文件夹:file1、file2和file3: 

shred file1 file2 file3

    
2) 下列命令将删除第一个HDD的第七个分区上的数据:
   
 

shred /dev/hda7

    
3)可以利用下列命令来擦除你在第一个盘的软盘中创建的文件系统路径,该命令需要花费20分钟来擦除“1.44MB”(实际为1440KiB)的软盘:
   
   

shred –verbose /dev/fd0

    
4) 要想删除硬盘上所选分区的数据,可以使用下列命令:

shred –verbose /dev/sda5

    
在Ubuntu的Nautilus菜单中添加shred

首先在终端使用下列命令安装nautilus-actions数据包:

sudo aptitude install nautilus-actions

    
现在打开Nautilus Actions Configuration:System->Preference->Nautilus Actions Configuration

打开后你会看到类似下图的窗口,点击添加。

现在输入以下信息:

  

Label: Shred
Tooltip: shred utility to securely erase files
Icon: gtk-dialog-warning
Path: shred
Parameters: -f -u -v -z %M


    
点击Conditions条目,勾选“Appears if selection contains”上面的“Only files”( 也可以选择文件和文件夹),勾选“Appears if selection has multiple files or folders”,单击确定。

添加后你将看到如下窗口,点击关闭。

打开终端,运行下列程序对nautilus进行更新:

 

nautilus -q
autilus

 

    
这样将打开nautilus窗口,现在右击单击任何文件,就能在菜单中看到shred命令选项。

 

#P#

wipe

wipe是一种小命令,能够安全删除磁性媒介上的文件,该命令能够在各种unix平台进行汇编,包括Linux 2.*、(Open+Net+Free)BSD、 aix 4.1、 SunOS 5.5.1以及Solaris 2.6等。从磁性媒介上恢复已经被擦除的数据要比人们想象的容易得多,一种称为“Magnetic Force Microscopy (MFM)”的技术能够恢复写入磁盘的最后2层或者3层的数据。而wipe命令能够向已删除的文件反复写入特殊图案,使用fsync() call和/或 O_SYNC bit强迫磁盘访问。

在Ubuntu中安装wipe

  

sudo aptitude install wipe

    
wipe语句

   

wipe [options] path1 path2 … pathn


 
    
Wipe示例

擦除/home/berke/plaintext/下的每个文件和每个目录(option -r),常规文件将使用34次passes擦除,它们的大小也将骤减几倍。而特殊文件(字符和块设备、FIFO等)则不会这样。所有目录条目(文件、特殊文件和目录)将被重新命名10次,然后用unlink操作符删除文件。不被允许的操作将进行chmod()处理(option -c).这些都不需要用户确认(option -f):

wipe -rcf /home/berke/plaintext/


  
    
假设/dev/hda3是与主要IDE界面的主盘第三区相对应的,则将在快速模式(option -q)下被擦除,例如,使用四种任意passes。Inode不会被重新命名或者unlink,在开始前,系统将要求输入“确认”:

   

wipe -kq /dev/hda3


  
    
wipe从来不会按照symlink进行文件删除,除非用户明确要求使用symlink,如果你想要擦除/dev/floppy,而它正是到/dev/fd0u1440的symlink,则需要明确 –D选项,在开始前,系统将要求输入“确认”: 

  

wipe -kqD /dev/floppy

 

    
在这里,wipe将递归式地(option –r)删除/var/log下的数据,而非/var/log之外的数据。这将不再是chmod(),而会变得有点复杂(option –i)。而且因为-f选项,系统不会要求用户输入“确认”:

#P#

Secure-Delete安全删除工具

该软件包包含很多安全删除工具,这些工具能够安全清除文件数据、释放磁盘空间、swap和memory。

Secure-Delete工具利用先进的技术对文件进行永久性删除,是非常实用的工具。想在Ubuntu中安装Secure-Delete工具,需要运行下列命令:

 

sudo aptitude install secure-delete

 

    
Secure-Delete软件包中包含下列命令:

srm(Secure remove) –用于删除硬盘上现有的文件或者目录。

smem(Secure memory wiper) – 用于清除计算机内存(RAM)的数据痕迹。

sfill(Secure free space wiper) – 用于清除磁盘可用空间的数据痕迹。

sswap(Secure swap wiper) – 用于删除swap分区所有数据痕迹。

srm - Secure remove安全移除

srm通过覆盖、重命名和unlink前截断数据来删除指定的文件,这可以防止其他人利用命令恢复或复原文件。

srm,像每一个使用getopt函数解析句法的程序一样,可以让用户使用— option来表明所有句法都是非选项。想要移除当前目录中‘-f’文件,可以输入“srm — -f”或者“srm ./-f”。

srm 语句

srm [OPTION]… FILE…


 
    
可用选项

-d, –directory – 忽略(与rm的兼容性)

-f, –force – 忽略不存在的文件,从不提示

-i, –interactive – 在任何清除操作前的提示

-r, -R, –recursive – 递归地移除目录内容

-s, –simple – 仅使用随机数据的单一pass进行覆盖

-m, –medium – 使用7 US DoD兼容 passes(0xF6,0×00,0xFF,random,0×00,0xFF,random)重写文件

-z, –zero – 覆盖文件后,文件使用的zero块

-n, –nounlink – 覆盖文件,但是并不对文件重新命名或者unlink

-v, –verbose – 显示正在进行的操作

–help – 显示帮助并退出

–version – 输出版本信息并退出

Srm示例

使用srm删除文件:

srm myfile.txt

    
使用srm删除目录

srm -r myfiles

 

#P#

  
smem - Secure memory wiper安全内存擦除器

smem旨在删除仍以安全方式存在内存的数据,这些数据不能被黑客、执法人员或者其他威胁恢复的。请注意,有了新的SDRAM芯片,数据不会消亡而将保持静态,很容易被提取必要的信息!这种擦除机制是基于第六次Usenix安全专题讨论会上由Peter Gutmann发表的“从磁性和固态内存安全删除数据” 文件,Peter Gutmann是著名的译解密码专家。

smem 语句

smem [-f] [-l] [-l] [-v]


  
    
可用选项

-f – 快速(和不安全模式): no /dev/urandom。

-l – 降低安全性。只写了两个passes:0×00和任意pass

-l -l 再次降低了安全性:只写入了0×00 pass

-v – 详细模式

sfill - secure free space wipe安全可用空间擦除

sfill旨在删除仍以安全方式存在于可用空间媒介上的数据,这些数据不能被黑客、执法人员或者其他威胁恢复的。这种擦除机制是基于第六次Usenix安全专题讨论会上由Peter Gutmann发表的“从磁性和固态内存安全删除数据” 文件,Peter Gutmann是著名的译解密码专家。

Sfill语句 

sfill [-f] [-i] [-I] [-l] [-l] [-v] [-z] directory/mountpoint


  
    
可用选项

-f -快速(和不安全模式): no /dev/urandom,没有同步模式

-i – 仅清除可用inode空间,而不是可用磁盘空间

-I -仅清除可用磁盘空间,而不是可用inode空间

-l -降低安全性。只写了两个passes:0xff的pass和随机值的最后模式

-l -l再次降低了安全性:只写入了随机pass

-v -详细模式

-z – 使用0擦除最后的写入,而不是随机数据

directory/mountpoint是在文件系统中用户所创建的文件的位置,应该位于用户想写入的分区。

sswap - Secure swap wiper安全swap擦除器

sswap旨在删除仍以安全方式存在于swap空间的数据,这些数据不能被黑客、执法人员或者其他威胁恢复的,这种擦除机制是基于第六次Usenix安全专题讨论会上由Peter Gutmann发表的“从磁性和固态内存安全删除数据” 文件,Peter Gutmann是著名的译解密码专家。

Sswap语句

sswap [-f] [-l] [-l] [-v] [-z] swapdevice

可用选项

-f -快速(和不安全模式): no /dev/urandom,没有同步模式

-l -降低安全性。只写了两个passes:0xff的pass和随机值的最后模式

-l -l 再次降低了安全性:只写入了随机值的pass

-v – 详细模式

-z -使用0擦除最后的写入,而不是随机数据

Sswap示例

在开始使用sswap前,你必须禁用swap分区,可以使用下列命令来查看安装的swap设备:

cat /proc/swaps

 

    
使用下列命令禁用swap:
 

sudo swapoff /dev/sda3

    
/dev/sda3 – 这是我的swap设备

禁用swap设备后,就可以使用下列命令用sswap擦除它:

sudo sswap /dev/sda3

    
完成上述命令后,需要使用下列命令重新启用swap:

sudo swapon /dev/sda3


      
其他工具

DBAN

Darik的Boot和Nuke (“DBAN“)是独立的启动盘,能够安全清除大多数计算机的硬盘数据。DBAN能够自动完全删除它检查到的任何硬盘数据,这也使DBAN成为删除大量数据或者紧急数据删除的实用工具。

 

 

【编辑推荐】

  1. Ubuntu Linux开始支持SELinux技术
  2. Ubuntu开发者峰会在布拉格举行
  3. Ubuntu下构建C/C++开发环境
责任编辑:张燕妮 来源: 中国IT实验室
相关推荐

2024-04-07 14:25:10

2009-11-27 13:26:15

Open Suse

2010-10-06 21:15:47

2014-12-04 10:07:03

工具

2011-03-11 10:09:59

UbuntuLAMP路径

2009-12-03 10:06:33

Ubuntushell脚本

2009-12-16 14:00:41

WinSCP工具文件复制

2011-06-15 10:20:50

Ubuntu 11.0

2017-10-11 16:23:59

Linuxinode删除文件

2011-09-19 10:12:32

UbuntuPhotivo

2009-08-17 10:16:26

ASP.NET的WEB

2011-09-07 14:43:24

2021-02-03 10:43:54

Linux系统磁盘

2009-06-15 16:16:33

Java开发工具

2009-06-15 15:49:24

Java开发工具

2009-10-28 10:30:38

安全工具文件加密加密工具

2017-11-20 11:23:12

MySQLMyFlash闪回工具

2009-12-03 10:03:18

Ubuntuvsftp

2020-10-12 07:44:20

Linux旧文件tmpwatch

2012-08-20 10:28:01

云模型NIST云计算
点赞
收藏

51CTO技术栈公众号