网站首页 > 技术文章 正文
【51CTO.com快译】在大多数情况下,如果我们想要删除电脑文件。会使用删除键或者rm命令、将文件扔到垃圾箱。这些方法,并没把文件从我们的电脑里彻底删除,只是把文件隐藏起来,让用户看不见而已。
假设某个文件含有机密或秘密的内容,比如安全系统的用户名和密码,如果攻击者拥有必要的专长和技能,就能轻松恢复已删除的文件,从而访问那些用户资料,这种场景造成的后果可想而知。
本文中,我们将介绍多款命令行工具,帮你实现永久安全地删除Linux下的文件。
1.shred –覆盖文件以隐藏内容
shred可覆盖文件以隐藏内容,可以选择删除它。
$ shred -zvu -n 5 passwords.list
这个命令包括的几个选项有:
-z – 最后一次覆盖添加0,以隐藏覆盖操作
-v – 能够显示操作进度
-u – 覆盖后截断并删除文件
-n – 指定覆盖文件内容的次数(默认值是3次)
shred – 覆盖文件以隐藏内容。
你可以在shred的参考手册页找到更多的使用选项和信息:
$ man shred
2.wipe –安全地擦除Linux下的文件
Linux的wipe命令,可安全地删除磁存储器中的文件,后续无法恢复已删除文件或目录的内容。
首先,你需要安装wipe工具才能使用它,运行下面命令:
$ sudo apt-get install wipe [在Debian及其衍生版上]
$ sudo yum install wipe [在基于RedHat的系统上]
下面这个命令将擦除目录private下面的一切内容。
$ wipe -rfi private/*
相关标志的用法如下:
-r – 告诉wipe递归查询子目录
-f – 启用强行删除,并禁用确认查询
-i – 显示删除过程的进度
wipe – 安全地删除Linux下的文件
注意:wipe只能适用于磁存储器,对于固态磁盘要使用其他方法。
仔细阅读wipe的参考手册页,了解更多的使用选项和使用说明:
$ man wipe
3.面向Linux的secure-deletetion工具包
secure-delete是一套安全文件删除工具,包含SRM(secure_deletion)工具,它是用来安全地删除文件。
首先你要安装它,为此使用下面这个相关命令:
$ sudo apt-get install secure-delete [在Debian及其衍生版上]
$ sudo yum install secure-delete [在基于RedHat的系统上]
一旦安装完毕,你可以使用srm工具,在Linux系统上安全地删除文件或目录,如下所示。
$ srm -vz private/*
使用的选项如下:
-v – 启用详细信息模式
-z – 用0而不是随机数据擦除上一次写入的内容
srm – 安全删除Linux下的文件
仔细阅读srm的参考手册页,了解更多的使用选项和信息:
$ man srm
4. sfill –安全免费的磁盘/索引节点空间擦除工具
fill是secure-deletetion工具包的一部分,它是一种安全免费的磁盘和索引节点空间擦除工具,可以安全地删除闲置磁盘空间上的文件。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之前先卸载掉你的交换分区!不然系统可能会崩溃!
只要确定你的交换分区(并使用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 – 安全交换分区擦除工具
确保仔细阅读sswap的参考手册页,了解更多的使用选项和信息:
$ man sswap
6. sdmem –安全内存擦除工具
sdmem是一个安全的存储器擦除工具,其被设计为以安全地删除驻留在内存中的数据。
它最初被命名SMEM ,但由于对系统的Debain存在另一个包叫做SMEM -报告内存消耗的每个进程和每个用户的基础上 ,开发者定将sdmem重命名。
$ sudo sdmem -f -v
想了解更多的使用信息,请仔细阅读sdmem的参考手册页:
$ man sdmem
在本文中,我们审查了一个数字命令行工具永久以及安全删除Linux中的文件。像往常一样,通过下面的评论表提供您的想法或建议关于这篇文章。
原文标题:rmanently and Securely Delete ‘Files and Directories’ in Linux
作者:Aaron Kili
译者:布加迪编译
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】
猜你喜欢
- 2024-09-11 Linux系统中共有7种文件类型,您了解吗?
- 2024-09-11 如何优雅地删除 Linux 中的垃圾文件
- 2024-09-11 Linux中如何删除常用方式无法删除的文件
- 2024-09-11 linux下目录操作——进入、显示、复制、移动
- 2024-09-11 Linux 删除空目录(linux中删除空目录)
- 2024-09-11 linux下删除包含特殊符号的文件或目录
- 2024-09-11 Linux下的文件和目录(linux文件与目录的基本操作)
- 2024-09-11 Linux rmdir命令:删除空目录(linux删除一个空目录)
- 2024-09-11 Linux 误删文件恢复命令及方法(linux 误删文件恢复命令及方法是什么)
- 2024-09-11 如何在 Linux 中删除大于或小于 X 大小的文件
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)