如何在Linux中安全地删除数据
本简要教程介绍如何在Linux中安全地删除数据。
安全删除
虽然有许多工具和方法可用于删除UNIX的操作系统中的重要文件或者文件夹,但我们只能看到一个名为"secure-delet"的一个工具。
它提供了四种有用的实用程序,可以安全地擦除系统中的数据,从而非常困难使用任何数据恢复软件来恢复这些数据。
谨慎一词:请记住,使用安全删除删除文件或者文件夹后非常困难。
因此,在使用安全删除实用程序之前仔细检查。
此外,所有这些都在SSD驱动器或者其他闪存的媒体上是不必要的和危险的。
SSDS与硬盘驱动器不同的存储数据。
我建议我们使用制造商实用程序来擦除SSD。
对于HDD,此方法将如下所述工作正常。
安装安全删除
Secure-Delete可在基于RP和RPM的系统的默认存储库中提供。
在Debian,Ubuntu,Linux Mint中,我们可以使用命令安装安全删除:
$sudo apt-get install secure-delete
在Fedora:
$sudo dnf install secure-delete
在ARCH Linux中,我们可以使用任何AUR帮助程序从AUR安装它,例如YAY:
$yay -S secure-delete
安全,永久删除Linux中的数据
就像我已经提到的那样,安全删除包提供了以下四个实用程序来安全地擦除Linux系统的文件/文件夹,磁盘,交换和内存。
- SRM - 安全删除
- sfill - 安全的免费磁盘和inode空间擦除器
- SSWAP - 安全交换空间擦除器
- SMEM - 安全擦除内存
让我们讨论每个命令的使用情况。
SRM.
SRM用于安全地和永久地擦除文件和文件夹,因此数据恢复软件,法律执行或者任何其他威胁无法恢复数据。
此命令的典型语法是:
srm [-d] [-f] [-l] [-l] [-r] [-v] [-z] files
其中
- -d - 忽略两个特殊点文件。和...在命令行上。
- -f - 快速和不安全的模式。没有/dev/urandom,没有同步模式。
- -L - 减轻安全性。如果我们第二次使用此选项,则会减少安全性。
- -r - 递归模式(删除所有子目录及其内容)。
- -v - 详细模式。
- -Z - 用零而不是随机数据擦拭最后一次写入。
SRM用法与RM命令相当相同。
以下命令将递归地删除一个名为theitroad的文件夹。
$sudo srm -r theitroad
这个将删除一个名为sk.txt的文件。
$sudo srm sk.txt
请注意,SRM不会完全删除NFS共享(远程文件系统),RAID系统和交换文件系统。
sfill
sfill将扫描指定的分区或者目录,并查找标记为自由或者可用的空间。
如果有任何可用空间,它将填充一些随机数据,确保在指定分区上没有可恢复的数据。
此命令的语法是:
sfill [-f] [-i] [-I] [-l] [-l] [-v] [-z] directory/mountpoint
以下命令将在/home分区中的空白处填充某些随机数据。
$sudo sfill /home
SSWAP.
内存已满时,可以使用交换分区。
如果系统需要更多内存资源并且内存已满,则内存中的非活动页面被移动到交换空间。
要安全地擦除此数据(非活动页面),则需要SSCAP实用程序。
顾名思义,SSCAP命令将安全地从交换分区擦除数据。
sswap命令的语法是:
sswap [-f] [-l] [-l] [-v] [-z] swapdevice
首先,使用命令查找交换分区:
$cat /proc/swaps
我的Arch Linux中上面命令的示例输出是:
Filename Type Size Used Priority /dev/sda3 partition 2097148 25144 -1
如上所述,我的交换分区是/dev/sda3.
使用命令禁用Swap分区:
$sudo swapoff /dev/sda3
现在,用命令安全地擦除交换分区的数据:
$sudo sswap /dev/sda3
在安全擦除交换分区的数据后,启用它:
$sudo swapon /dev/sda3
Smem.
semem命令用于安全地擦除包含运行程序状态的内存的内容。
上述命令的语法是:
smem [-f] [-l] [-l] [-v]
要安全地清除可能包含运行程序的任何敏感数据的内存,请输入以下命令:
$sudo smem