使用服务器时删除文件的常用方法有很多,如直接使用Delete密钥、rm命令等,但是这些方法都不能直接永久且安全的从硬盘/其他存储介质中删除文件。这些文件删除后只是对用户隐藏,依然位于硬盘的某个位置,还是存在数据泄露/窃取等隐患。本文为大家分享Linux中永久且安全的删除文件的命令行工具。
Shred命令可以用于覆盖文件和隐藏内容,也可以用来删除文件:
$ shred -zvu -n 5 passwords.list
z选项是最后用零覆盖以隐藏粉碎;v选项是 可显示操作进度;u选项是覆盖后截断并删除文件;n选项是指定覆盖文件内容的次数(默认为 3 次)。
还可以查看更多shred手册页查找学习更多使用选项和信息:
$ man shred
还可以使用Wipe在Linux中删除文件和目录。作为Linux的擦除命令可以安全的从磁性存储器中删除文件,从而使已删除文件或目录内容无法恢复。先安装擦除工具:
$ sudo apt-get install wipe [在 Debian 及其衍生产品上]
$ sudo yum install wipe [在基于 RedHat 的系统上]
完成后使用命令,如删除目录private下全部内容:
$ wipe -rfi private/*
r选项是用来告诉wipe递归到子目录,f是启用强制删除并禁用确认查询,i是显示删除过程进度。该命令擦除只对磁性存储器有用对于固态磁盘需要使用其他方式。
Secure delete是一种安全文件删除工具集合,其中srm工具可以用来安全的删除文件。安装:
$ sudo apt-get install secure-delete [在 Debian 及其衍生产品上]
$ sudo yum install secure-delete [在基于 RedHat 的系统上]
安装后可以用srm在Linux系统上删除文件:
$ srm -vz private/*
V是启动详细模式,z是用零代替随机数据擦除最后一次写入的内容。
查看更多srm应用方法:
$ man srm
Sfill是安全删除工具包的一部分,是一个安全的空闲磁盘和inode空间擦除器,可以用安全的方式删除空闲磁盘空间上的文件。检查指定分区上的空闲空间,用来自/ dev/urandom的随机数据填充它。启用详细模式:
$ sudo sfill -v /home/aaronkilik/tmp/
如创建一个单独分区/home可存储普通系统用户的主目录,可以在该分区上指定一个目录来在其上应用sfill:
$ sudo sfill -v /home/username
查看更多选项:
$ man sfill
另外还可以使用sswap(使用前要先卸载分区,不然可能影响系统)、sdmem等。需要了解更多安全删除文件及目录的方法继续关注华纳云。