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
  nautilus

  这样将打开nautilus窗口,现在右击单击任何文件,就能在菜单中看到shred命令选项。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选项,系统不会要求用户输入“确认”:

wipe -rfi >wipe.log /var/log/*

  根据操作系统的不同特质,要想获取特定设备可能包含的byte数量并不是易事(事实上,这个数字是变化的)。这就是为什么有时候需要告诉 wipe擦除byte数量的原因,也是-l option的目的。另外,也可以使用b,K,M和G作为乘法器,分别对应2^9 (512)、2^10 (1024或者Kilo)、2^20 (Mage)以及2^30 (Giga)bytes。甚至还可以联合两个乘法器,这样1M416K = 1474560 bytes:

wipe -Kq -l 1440k /dev/fd0

  在Ubuntu的Nautilus菜单中添加Wipe

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

sudo aptitude install nautilus-actions

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

  输入以下信息:

      Label: Wipe
  Tooltip: Wipe utility to securely erase files
  Icon: gtk-dialog-warning
  Path: wipe
  Parameters: -rf %M

  点击Conditions条目,勾选“Appears if selection contains”上面的“both”

  勾选“Appears if selection has multiple files or folders”,单击确定。

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

      nautilus -q
  nautilus

  这样将打开nautilus窗口,现在右击单击任何文件,就能在菜单中看到wipe命令选项。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

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成为删除大量数据或者紧急数据删除的实用工具。

转载于:https://www.cnblogs.com/RichardLee/archive/2013/01/09/2852627.html

Ubuntu下的文件安全删除工具相关推荐

  1. ubuntu下安装c++检测工具perf

    ubuntu下安装c++检测工具perf sudo apt-get install linux-tools-common sudo apt-get install linux-tools-4.4.0- ...

  2. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  3. Linux ubuntu下C/C++开发工具安装和开发环境搭建(c/c++,CLion工具)

    ubuntu下 C/C++ 开发工具选择和环境搭建 1.开发工具下载及安装 开发工具选用 CLion,进入终端输入 sudo snap install clion --classic 等待执行完成后C ...

  4. Ubuntu 下USB抓包工具—usbmon

    Ubuntu 下USB抓包工具-usbmon 目录:/lib/modules/3.13.0-24-generic/kernel/drivers/usb/mon/usbmon.ko(ubuntu16.0 ...

  5. linux/ubuntu下的代码对比工具Meld Diff

    linux/ubuntu下的代码对比工具Meld Diff 做开发的都知道,一个项目多个版本,有的时候多了自己都昏,还有就是比对别人的代码的时候,眼睛看怕是要爆炸. 所以我们一般使用代码对比工具,也就 ...

  6. Ubuntu下svn 版本管理客户端工具及常用方法

    Ubuntu16.04系统下安装RapidSVN版本控制器及配置diff,editor,merge和exploer工具,在Window下我们使用TortoiseSVN(小乌龟),可以很方便地进行查看. ...

  7. Ubuntu下内存泄露检测工具Valgrind的使用

    在VS中可以用VLD检测是否有内存泄露,可以参考http://blog.csdn.net/fengbingchun/article/details/44195959,下面介绍下Ubuntu中内存泄露检 ...

  8. Ubuntu下的录屏工具Kazam和SimpleScreenRecorder, Peek

    注:Peek是后添加的,ubuntu下录屏成gif的好工具,很方便. 不多介绍,就是个录屏的工具,下面的内容都是摘录过来的,来源在后面的参考资料里. 主要有Kazam,SimpleScreenReco ...

  9. 使用Ubuntu下usb抓包工具(usbmon)进行数据抓取的一次记录

    前言 使用反汇编还原的库调试打印机网络作业设置,打印出来的日志与原库有出入,在usb传输处始终有偏差. 调用反汇编还原的库: DEBUG: Net_OnlyGetDataSizeFromReplyHd ...

最新文章

  1. python压测接口_python的一个接口压测脚本
  2. javase期末考试题_java期末考试试题及答案
  3. 在ASP.NET页面中动态添加控件
  4. Django——Model
  5. Python a和a[:]的区别
  6. IO多路复用之select
  7. U盘文件系统无法识别,数据怎么恢复?
  8. iText in Action 2nd5.2节(Events for basic building blocks)读书笔记
  9. linux进程管理内存管理,Linux专业知识四:Linux系统进程管理及查看内存
  10. 5.TCP/IP 详解卷1 ---RARP:逆地址解析协议
  11. Chapter 1 First Sight——13
  12. 实施工程师的发展前景
  13. T216909 小卡与质数2 (前缀和 欧拉筛
  14. Mac SpotLight无法搜索
  15. 艺无止境·一路前行——王玉玺先生作品欣赏
  16. 【数仓】浅谈数仓建模的方法
  17. 什么是蜘蛛池的搜索留痕技术
  18. 刺客信条起源服务器换装备显示错误6,刺客信条起源手柄切换装备 | 手游网游页游攻略大全...
  19. day 54 django-图书管理系统_出版社的管理(展示,新增,删除,编辑)
  20. 读卡耐基《人性的弱点》总结

热门文章

  1. mysql数据库总览_MySQL架构总览-查询执行流程-SQL解析顺序
  2. java设计模式并发_[高并发Java 七] 并发设计模式
  3. Z-BlogPHP名扬图文博客主题模板
  4. 电竞比分源码/免买分源码/可二开/支持最新PHP7.3/LOL,王者,吃鸡等等电竞比分源码
  5. c# 智能升级程序代码(2)
  6. jQuery : ddSlick 自定义select下拉框 custom drop down with images and description.
  7. Comet:基于 HTTP 长连接的“服务器推”技术 (实例)
  8. 应用程序挂起、复原与终止— IOS开发
  9. 斗地主AI算法——第九章の被动出牌(3)
  10. SQL JOIN,你想知道的应该都有