在使用電腦的時候,我們一方面希望能夠把不小心刪除的重要文件恢復過來。確實大部分的數據都能夠通過一些努力來恢復。但是另一方面,我們又不希望一些涉及到個人隱私的東西被恢復。在Linux系統中,用戶都是通過rm命令來刪除數據,但是用這種方法刪除數據,黑客可以利用各種軟件,輕易恢復這些刪除的數據。只有通過一些工具,才能安全地刪除數據。
讓我們看看怎樣安全並完整地從你的 Linux 系統中刪除文件或者文件夾。以下提到的工具可以完全地刪除數據,因此那些恢復工具很難找到真實數據的痕跡然後恢復它。
1.Secure-Delete
Secure-Delete 是一組為 Linux 操作系統而生的工具集合,他們為永久刪除文件提供了先進的技術支持。一旦 Secure-Delete 安裝在各種 Linux 系統上,就提供了如下的四個命令:
srm
smem
sfill
sswap
在 Ubuntu 的終端中運行如下命令安裝此工具:
sudo apt-get install secure-delete
在 RHEL,Fedora 或者 CentOS 中運行如下命令安裝此工具:
sudo yum install secure-delete
“srm” 命令的工作方式和 "rm" 命令類似,但是它不僅僅是刪除文件,它首先使用一些隨機的數據重寫數次文件,然後徹底地刪除此文件。這個命令的語法是相當地簡單,僅僅指定要刪除的文件或者目錄,然後它會負責此任務。
sudo srm /home/aun/Documents/xueo/1.png
"sfill" 檢測在指定的分區或者目錄被標記為空閒或者可用的空間,然後使用它自身的算法用一些隨機數據填充。因此它保證了在此分區沒有可以恢復的文件或者文件夾。
sudo sfill /home
"sswap" 命令用來安全地清除你的交換分區。交換分區用來存放運行程序的數據。首先我們需要運行如下命令來找到你的交換分區。
cat /proc/swaps
如下是上述命令的輸出示例:
aun@eagle:~$ cat /proc/swaps
FilenameTypeSizeUsedPriority
/dev/sda5 partition 208486071216-1
從現在起,你可以看到你的交換分區設置在哪個分區,然後使用如下命令安全地清除。替換 "/dev/sda5" 部分為你的交換分區名字。
sudo sswap /dev/sda5
“smem” 用來清理在內存中的內容,雖然當系統重啟或者關機時會清理隨機存取存儲器(RAM)中的內容,但是內存中仍然會保留一些數據的殘留痕跡。這個命令提供安全的內存清理,簡單地在終端中運行 smem 命令即可。
smem
2.Shred
"shred" 命令以一種不可恢復的方式來銷毀文件或者文件夾的內容。它使用隨機生成的數據模式來持續覆寫文件,因此很難恢復任意的被銷毀的數據,即使是那些黑客或者竊賊使用高水平的數據恢復工具或者設備。Shred 默認安裝在所有 Linux 發行版中,如果你想,你可以運行如下命令來找到它的安裝目錄:
aun@eagle:~$ whereis shred
shred:/usr/bin/shred /usr/share/man/man1/shred.1.gz
使用 shred 工具運行如下命令來刪除文件:
shred /home/aun/Documents/xueo/1.png
使用 shred 運行如下命令來刪除任意的分區,用你期望的分區來替換分區名字。
shred /dev/sda5
Shred 默認情況下使用隨機內容重寫數據 25 次。如果你想它重寫文件更多次數,可以使用 "shred -n" 選項來簡單地指定你所期望的次數。
shred -n 100 filename
如果你想在重寫後截斷或者刪除文件,使用 "shred -u" 選項:
shred -u filename
3.dd
這個命令起初是用於磁盤克隆的。它用於將一個分區或者一個磁盤復制到另一個分區或者磁盤。但是它還可用於安全地清除硬盤或者分區的內容。運行如下命令使用隨機數據來重寫你的當前數據。你不需要安裝 dd 命令,所有的 Linux 分發版都已經包含了此命令。
sudo dd if=/dev/random of=/dev/sda
你也可以覆寫磁盤或者分區中的內容,只需要簡單地將所有替換為 “zero”。
sudo dd if=/dev/zero of=/dev/sda
4.Wipe
Wipe 起初開發的目的是從磁性介質中安全地擦除文件。這個命令行工具使用特殊的模式來重復地寫文件。它使用 fsync() 調用和/或 O_SYNC 位來強制訪問磁盤,並且使用 Gutmann 算法來重復地寫。你可以使用此命令刪除單個文件、文件夾或者整個磁盤的內容,但是使用 wipe 命令來刪除整個磁盤的模式會耗費大量的時間。另外,安裝和使用這個工具相當容易。
在 ubuntu 的終端中運行如下命令來安裝 wipe。
sudo aptitude install wipe
使用如下命令在 RedHat Linux,Centos 或者 Fedora 中安裝 Wipe:
sudo yum install wipe
一旦安裝完成,在終端中運行如下命令來獲得完整的可用選項列表:
man wipe
刪除任意文件或者目錄:
wipe filename
運行如下命令來安全地移除 tmp 分區:
wipe -r /tmp
使用如下的命令來刪除完整分區的內容(替換分區名字為你所期望的分區)。
wipe /dev/sda1
上面的這幾個工具占用內存都很小,所以不會影響系統的性能和使用,對於想要保護隱私的用戶來說是非常方便的。