刪除鍵不可靠!在Linux下教你用命令行徹底刪除文件
譯文【51CTO.com快譯】在大多數(shù)情況下,我們想要刪除電腦文件,一般會使用刪除鍵或者rm命令、將文件扔到垃圾箱。但是,這些方法并沒把文件從我們的電腦里徹底刪除,只是把文件隱藏起來,讓用戶看不見而已。
假設(shè)某個文件含有機密或秘密的內(nèi)容,比如安全系統(tǒng)的用戶名和密碼,如果攻擊者擁有必要的專長和技能,就能輕松恢復(fù)已刪除的文件,從而訪問那些用戶資料,這種場景造成的后果可想而知。
本文中,我們將介紹多款命令行工具,幫你實現(xiàn)永久安全地刪除Linux下的文件。
1. shred – 覆蓋文件以隱藏內(nèi)容
shred可覆蓋文件以隱藏內(nèi)容,另外還可以刪除文件。
- $ shred -zvu -n 5 passwords.list
這個命令包括的幾個選項有:
- -z – 最后一次覆蓋添加0,以隱藏覆蓋操作
- -v – 能夠顯示操作進度
- -u – 覆蓋后截斷并刪除文件
- -n – 指定覆蓋文件內(nèi)容的次數(shù)(默認(rèn)值是3次)
shred – 覆蓋文件以隱藏內(nèi)容。
你可以在shred的參考手冊頁找到更多的使用選項和信息:
- $ man shred
2. wipe – 安全地擦除Linux下的文件
Linux的wipe命令,可安全地刪除磁存儲器中的文件,后續(xù)無法恢復(fù)已刪除文件或目錄的內(nèi)容。
首先,你需要安裝wipe工具才能使用它,運行下面命令:$ sudo apt-get install wipe [在Debian及其衍生版上]
- $ sudo yum install wipe [在基于RedHat的系統(tǒng)上]
下面這個命令將擦除目錄private下面的一切內(nèi)容。
- $ wipe -rfi private/*
相關(guān)標(biāo)志的用法如下:
- -r – 告訴wipe遞歸查詢子目錄
- -f – 啟用強行刪除,并禁用確認(rèn)查詢
- -i – 顯示刪除過程的進度
wipe – 安全地刪除Linux下的文件
注意:wipe只能適用于磁存儲器,對于固態(tài)磁盤要使用其他方法。
仔細(xì)閱讀wipe的參考手冊頁,了解更多的使用選項和使用說明:
- $ man wipe
3. 面向Linux的secure-deletetion工具包
secure-delete是一套安全文件刪除工具,包含SRM(secure_deletion)工具,它是用來安全地刪除文件。
首先,你要安裝它,為此使用下面這個相關(guān)命令:$ sudo apt-get install secure-delete [在Debian及其衍生版上]
- $ sudo yum install secure-delete [在基于RedHat的系統(tǒng)上]
一旦安裝完畢,你可以使用srm工具,在Linux系統(tǒng)上安全地刪除文件或目錄,如下所示。
- $ srm -vz private/*
使用的選項如下:
- -v – 啟用詳細(xì)信息模式
- -z – 用0而不是隨機數(shù)據(jù)擦除上一次寫入的內(nèi)容
srm – 安全刪除Linux下的文件
仔細(xì)閱讀srm的參考手冊頁,了解更多的使用選項和信息:
- $ man srm
4. sfill –安全免費的磁盤/索引節(jié)點空間擦除工具
ffill是secure-deletetion工具包的一部分,它是一種安全免費的磁盤和索引節(jié)點空間擦除工具,可以安全地刪除閑置磁盤空間上的文件。sfill可檢查指定分區(qū)上的閑置空間,并用來自/dev/urandom的隨機數(shù)據(jù)來填充。
下面這個命令將在我的根分區(qū)上執(zhí)行sfill,-v參數(shù)選項符啟用詳細(xì)信息模式:
- $ sudo sfill -v /home/aaronkilik/tmp/
假設(shè)你創(chuàng)建了一個單獨的分區(qū),/home用來存儲平常的系統(tǒng)用戶主目錄,那么你可以在該分區(qū)上指定一個目錄,對它進行sfill操作:
- $ sudo sfill -v /home/username
sfill有幾個局限性,參考手冊頁中有說明,你還能找到另外的使用標(biāo)志和操作說明:
- $ man sfill
注意:secure-deletetion工具包中的下面兩個工具(sswap和sdmem)與本文并不直接有關(guān),不過我們會介紹它們,也許將來用得著。
5. sswap – 安全交換分區(qū)擦除工具
這是一個安全分區(qū)擦除工具,sswap刪除的數(shù)據(jù)駐留在交換分區(qū)上的數(shù)據(jù)。
警告:記得在使用sswap之前先卸載掉你的交換分區(qū)!不然系統(tǒng)可能會崩潰!
只要確定你的交換分區(qū)(并使用swapon命令,核實分頁和交換設(shè)備/文件是否開啟),下一步,使用swapoff命令,禁用分頁和交換設(shè)備/文件。
然后,在交換分區(qū)上運行sswap命令:
- $ cat /proc/swaps
- $ swapon
- $ sudo swapoff /dev/sda6
- $ sudo sswap /dev/sda6 #這個命令需要一段時間才能完成,默認(rèn)情況下執(zhí)行38趟
sswap – 安全交換分區(qū)擦除工具
確保仔細(xì)閱讀sswap的參考手冊頁,了解更多的使用選項和信息:
- $ man sswap
6. sdmem – 安全內(nèi)存擦除工具
sdmem是安全內(nèi)存擦除工具,它旨在安全地刪除駐留在內(nèi)存中的數(shù)據(jù)。
它原先名叫smem,但是在Debain系統(tǒng)上,有另一個程序包名叫smem(報告每個進程和每個用戶的內(nèi)存使用情況),于是開發(fā)人員將它改名為sdmem。
- $ sudo sdmem -f -v
想了解更多的使用信息,請仔細(xì)閱讀sdmem的參考手冊頁:
- $ man sdmem
就是這樣!我們在本文中介紹了多款永久安全地刪除Linux下文件的命令工具。歡迎留言交流。
原文標(biāo)題:rmanently and Securely Delete ‘Files and Directories’ in Linux,作者:Aaron Kili
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】