如果想把Linux系统中的文件彻底删除,使用rm命令并不是有效的,技术人员可以轻松恢复这些文件,因此,我们往往要借助一些方法才能完全将数据从磁盘中抹去。
方案一 使用shred覆盖文件
使用shred命令覆盖文件以达到删除数据的效果,当然也可以直接选择删除。
0x01 安装及说明
yum -y install coreutils
参数说明
参数 | 说明 |
-f, --force | 允许修改权限进行强制写操作 |
-n, --iterations=N | 指定覆盖文件内容的次数(默认为3) |
--random-source=FILE | 从指定文件获取随机数据 |
-s, --size=N | 按字节长度切碎(K/M/G单位) |
-u, --remove | 覆盖后截断和删除文件 |
-v, --verbose | 显示操作进度 |
-x, --exact | 不将文件大小四舍五入到下一个完整块,非常规文件的默认设置 |
-z, --zero | 添加一个带有零的最终覆盖以隐藏切碎 |
0x02 使用示例
shred -zvu -n 5 users.lst
方案二 通过wipe擦除文件
通过wipe命令将文件从磁存储器中安全擦除,无法恢复。
1x01 安装及说明
yum -y install wipe
参数说明
参数 | 说明 |
-r | 同时整个目录 |
-f | 强制删除且无需确认 |
-i | 显示删除详情 |
1x02 使用示例
wipe -rfi private/*
方案三 通过secure-delete安全删除
Secure-delete是一个安全文件删除工具的集合,其中包含srm (secure_deletion) 工具,用于安全删除文件,原理是在删除文件前重写文件内容。
2x01 安装及说明
yum -y install secure-delete
参数说明
参数 | 说明 |
-C, --rcmp | 使用加拿大皇家骑警通行证覆盖 |
-D, --dod | 使用符合美国国防部标准的7重覆盖 |
-d, --directory | 忽略“.”和“..”目录,与rm兼容 |
-E, --doe | 使用符合美国能源部标准的3重覆盖 |
-f, --force | 强制删除 |
-G, --gutmann | 使用35重古特曼法覆盖 |
-i, --interactive | 在删除前提示 |
-P, --openbsd | 像OpenBSD中的rm一样使用三次覆盖 |
-r, -R, --recursive | 删除整个目录 |
-s, --simple | 使用0x00单次覆盖(默认) |
-v, --verbose | 显示删除详情 |
-x, --one-file-system | 不跨越文件系统 |
-z | 用零而不是随机数据擦除最后一次写入 |
2x02 使用示例
srm -vz private/*
2x03 套件中的其他命令
命令 | 说明 |
sfill | Secure Free Space Wiper,清除保存设备可用空间所残留的使用痕迹 |
sdmem | Secure Memory Wiper,清除内存(RAM)中残留的使用痕迹 |
sswap | Secure Swap Wiper,清除置换空间(SWAP)中残留的使用痕迹 |
原创文章禁止转载:技术学堂 » Linux彻底删除数据的常见方法