在大多數情況下,我們想要刪除電腦文件,Linux下一般會使用刪除鍵或者rm命令、將文件扔到垃圾箱。但是,這些方法並沒把文件從我們的電腦裡徹底刪除,只是把文件隱藏起來,讓用戶看不見而已。
假設某個文件含有機密或秘密的內容,比如安全系統的用戶名和密碼,如果攻擊者擁有必要的專長和技能,就能輕松恢復已刪除的文件,從而訪問那些用戶資料,這種場景造成的後果可想而知。
本文中,我們將介紹多款命令行工具,幫你實現永久安全地刪除Linux下的文件。
1. shred – 覆蓋文件以隱藏內容
shred可覆蓋文件以隱藏內容,另外還可以刪除文件。
這個命令包括的幾個選項有:
shred – 覆蓋文件以隱藏內容。
你可以在shred的參考手冊頁找到更多的使用選項和信息:
2. wipe – 安全地擦除Linux下的文件
Linux的wipe命令,可安全地刪除磁存儲器中的文件,後續無法恢復已刪除文件或目錄的內容。
首先,你需要安裝wipe工具才能使用它,運行下面命令:$ sudo apt-get install wipe [在Debian及其衍生版上]
下面這個命令將擦除目錄private下面的一切內容。
相關標志的用法如下:
wipe – 安全地刪除Linux下的文件
注意:wipe只能適用於磁存儲器,對於固態磁盤要使用其他方法。
仔細閱讀wipe的參考手冊頁,了解更多的使用選項和使用說明:
3. 面向Linux的secure-deletetion工具包
secure-delete是一套安全文件刪除工具,包含SRM(secure_deletion)工具,它是用來安全地刪除文件。
首先,你要安裝它,為此使用下面這個相關命令:$ sudo apt-get install secure-delete [在Debian及其衍生版上]
一旦安裝完畢,你可以使用srm工具,在Linux系統上安全地刪除文件或目錄,如下所示。
使用的選項如下:
srm – 安全刪除Linux下的文件
仔細閱讀srm的參考手冊頁,了解更多的使用選項和信息:
4. sfill –安全免費的磁盤/索引節點空間擦除工具
ffill是secure-deletetion工具包的一部分,它是一種安全免費的磁盤和索引節點空間擦除工具,可以安全地刪除閒置磁盤空間上的文件。sfill可檢查指定分區上的閒置空間,並用來自/dev/urandom的隨機數據來填充。
下面這個命令將在我的根分區上執行sfill,-v參數選項符啟用詳細信息模式:
假設你創建了一個單獨的分區,/home用來存儲平常的系統用戶主目錄,那麼你可以在該分區上指定一個目錄,對它進行sfill操作:
sfill有幾個局限性,參考手冊頁中有說明,你還能找到另外的使用標志和操作說明:
注意:secure-deletetion工具包中的下面兩個工具(sswap和sdmem)與本文並不直接有關,不過我們會介紹它們,也許將來用得著。
5. sswap – 安全交換分區擦除工具
這是一個安全分區擦除工具,sswap刪除的數據駐留在交換分區上的數據。
警告:記得在使用sswap之前先卸載掉你的交換分區!不然系統可能會崩潰!
只要確定你的交換分區(並使用swapon命令,核實分頁和交換設備/文件是否開啟),下一步,使用swapoff命令,禁用分頁和交換設備/文件。
然後,在交換分區上運行sswap命令:
sswap – 安全交換分區擦除工具
確保仔細閱讀sswap的參考手冊頁,了解更多的使用選項和信息:
6. sdmem – 安全內存擦除工具
sdmem是安全內存擦除工具,它旨在安全地刪除駐留在內存中的數據。
它原先名叫smem,但是在Debain系統上,有另一個程序包名叫smem(報告每個進程和每個用戶的內存使用情況),於是開發人員將它改名為sdmem。
想了解更多的使用信息,請仔細閱讀sdmem的參考手冊頁:
就是這樣!我們在本文中介紹了多款永久安全地刪除Linux下文件的命令工具。歡迎留言交流。
原文標題:rmanently and Securely Delete ‘Files and Directories’ in Linux,作者:Aaron Kili