首頁 > 軟體

徹底消失,Linux下用命令列徹底刪除檔案

2020-06-16 17:23:30

在大多數情況下,我們想要刪除電腦檔案,Linux下一般會使用刪除鍵或者rm命令、將檔案扔到垃圾箱。但是,這些方法並沒把檔案從我們的電腦裡徹底刪除,只是把檔案隱藏起來,讓使用者看不見而已。

 

假設某個檔案含有機密或秘密的內容,比如安全系統的使用者名稱和密碼,如果攻擊者擁有必要的專長和技能,就能輕鬆恢復已刪除的檔案,從而存取那些使用者資料,這種場景造成的後果可想而知。

本文中,我們將介紹多款命令列工具,幫你實現永久安全地刪除Linux下的檔案。

1. shred – 覆蓋檔案以隱藏內容

shred可覆蓋檔案以隱藏內容,另外還可以刪除檔案。

  1. $ shred -zvu -n 5 passwords.list 

這個命令包括的幾個選項有:

  • -z – 最後一次覆蓋新增0,以隱藏覆蓋操作
  • -v – 能夠顯示操作進度
  • -u – 覆蓋後截斷並刪除檔案
  • -n – 指定覆蓋檔案內容的次數(預設值是3次)

shred – 覆蓋檔案以隱藏內容。

你可以在shred的參考手冊頁找到更多的使用選項和資訊:

  1. $ man shred 

2. wipe – 安全地擦除Linux下的檔案

Linux的wipe命令,可安全地刪除磁記憶體中的檔案,後續無法恢復已刪除檔案或目錄的內容。

首先,你需要安裝wipe工具才能使用它,執行下面命令:$ sudo apt-get install wipe [在Debian及其衍生版上]

  1. $ sudo yum install wipe [在基於RedHat的系統上] 

下面這個命令將擦除目錄private下面的一切內容。

  1. $ wipe -rfi private/* 

相關標誌的用法如下:

  • -r – 告訴wipe遞回查詢子目錄
  • -f – 啟用強行刪除,並禁用確認查詢
  • -i – 顯示刪除過程的進度

wipe – 安全地刪除Linux下的檔案

注意:wipe只能適用於磁記憶體,對於固態磁碟要使用其他方法。

仔細閱讀wipe的參考手冊頁,了解更多的使用選項和使用說明:

  1. $ man wipe 

3. 面向Linux的secure-deletetion工具包

secure-delete是一套安全檔案刪除工具,包含SRM(secure_deletion)工具,它是用來安全地刪除檔案。

首先,你要安裝它,為此使用下面這個相關命令:$ sudo apt-get install secure-delete [在Debian及其衍生版上]

  1. $ sudo yum install secure-delete [在基於RedHat的系統上] 

一旦安裝完畢,你可以使用srm工具,在Linux系統上安全地刪除檔案或目錄,如下所示。

  1. $ srm -vz private/* 

使用的選項如下:

  • -v – 啟用詳細資訊模式
  • -z – 用0而不是亂數據擦除上一次寫入的內容

srm – 安全刪除Linux下的檔案

仔細閱讀srm的參考手冊頁,了解更多的使用選項和資訊:

  1. $ man srm 

4. sfill –安全免費的磁碟/索引節點空間擦除工具

ffill是secure-deletetion工具包的一部分,它是一種安全免費的磁碟和索引節點空間擦除工具,可以安全地刪除閒置磁碟空間上的檔案。sfill可檢查指定分割區上的閒置空間,並用來自/dev/urandom的亂數據來填充。

下面這個命令將在我的根分割區上執行sfill,-v引數選項符啟用詳細資訊模式:

  1. $ sudo sfill -v /home/aaronkilik/tmp/ 

假設你建立了一個單獨的分割區,/home用來儲存平常的系統使用者主目錄,那麼你可以在該分割區上指定一個目錄,對它進行sfill操作:

  1. $ sudo sfill -v /home/username 

sfill有幾個局限性,參考手冊頁中有說明,你還能找到另外的使用標誌和操作說明:

  1. $ man sfill 

注意:secure-deletetion工具包中的下面兩個工具(sswap和sdmem)與本文並不直接有關,不過我們會介紹它們,也許將來用得著。

5. sswap – 安全交換分割區擦除工具

這是一個安全分割區擦除工具,sswap刪除的資料駐留在交換分割區上的資料。

警告:記得在使用sswap之前先解除安裝掉你的交換分割區!不然系統可能會崩潰!

只要確定你的交換分割區(並使用swapon命令,核實分頁和交換裝置/檔案是否開啟),下一步,使用swapoff命令,禁用分頁和交換裝置/檔案。

然後,在交換分割區上執行sswap命令:

  1. $ cat /proc/swaps 
  2. $ swapon 
  3. $ sudo swapoff /dev/sda6 
  4. $ sudo sswap /dev/sda6 #這個命令需要一段時間才能完成,預設情況下執行38趟  

sswap – 安全交換分割區擦除工具

確保仔細閱讀sswap的參考手冊頁,了解更多的使用選項和資訊:

  1. $ man sswap 

6. sdmem – 安全記憶體擦除工具

sdmem是安全記憶體擦除工具,它旨在安全地刪除駐留在記憶體中的資料。

它原先名叫smem,但是在Debain系統上,有另一個程式包名叫smem(報告每個進程和每個使用者的記憶體使用情況),於是開發人員將它改名為sdmem。

  1. $ sudo sdmem -f -v 

想了解更多的使用資訊,請仔細閱讀sdmem的參考手冊頁:

  1. $ man sdmem 

就是這樣!我們在本文中介紹了多款永久安全地刪除Linux下檔案的命令工具。歡迎留言交流。

原文標題:rmanently and Securely Delete ‘Files and Directories’ in Linux,作者:Aaron Kili

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-01/139599.htm


IT145.com E-mail:sddin#qq.com