閱讀254 返回首頁    go windows


3 個在 Linux 中永久並安全刪除文件和目錄的方法

在大多數情況下,我們習慣於使用 Delete 鍵、垃圾箱或 rm 命令從我們的計算機中刪除文件,但這不是永久安全地從硬盤中(或任何存儲介質)刪除文件的方法。

該文件隻是對用戶隱藏,它駐留在硬盤上的某個地方。它有可能被數據竊賊、執法取證或其它方式來恢複。

假設文件包含密級或機密內容,例如安全係統的用戶名和密碼,具有必要知識和技能的攻擊者可以輕鬆地恢複刪除文件的副本並訪問這些用戶憑證(你可以猜測到這種情況的後果)。

在本文中,我們將解釋一些命令行工具,用於永久並安全地刪除 Linux 中的文件。

1、 shred – 覆蓋文件來隱藏內容

shred 會覆蓋文件來隱藏它的內容,並且也可以選擇刪除它。


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

在下麵的命令中,選項有:

  1. -z - 用零覆蓋以隱藏碎片
  2. -v - 顯示操作進度
  3. -u - 在覆蓋後截斷並刪除文件
  4. -n - 指定覆蓋文件內容的次數(默認值為3)

shred - 覆蓋文件來隱藏它的內容

shred - 覆蓋文件來隱藏它的內容

你可以在 shred 的幫助頁中找到更多的用法選項和信息:


  1. $ man shred

2、 wipe – 在 Linux 中安全刪除文件

wipe 命令可以安全地擦除磁盤中的文件,從而不可能恢複刪除的文件或目錄內容

首先,你需要安裝 wipe 工具,運行以下適當的命令:


  1. $ sudo apt-get install wipe [Debian 及其衍生版]
  2. $ sudo yum install wipe [基於 RedHat 的係統]

下麵的命令會銷毀 private 目錄下的所有文件。


  1. $ wipe -rfi private/*

當使用下麵的標誌時:

  1. -r - 告訴 wipe 遞歸地擦除子目錄
  2. -f - 啟用強製刪除並禁用確認查詢
  3. -i - 顯示擦除進度

wipe  在 Linux 中安全擦除文件

wipe – 在 Linux 中安全擦除文件

注意:wipe 僅可以在磁性存儲上可以可靠地工作,因此對固態磁盤(內存)請使用其他方法。

閱讀 wipe 手冊以獲取其他使用選項和說明:


  1. $ man wipe

3、 Linux 中的安全刪除工具集

secure-delete 是一個安全文件刪除工具的集合,它包含用於安全刪除文件的 srm(secure_deletion)工具。

首先,你需要使用以下相關命令安裝它:


  1. $ sudo apt-get install secure-delete [Debian 及其衍生版]
  2. $ sudo yum install secure-delete [基於 RedHat 的係統]

安裝完成後,你可以使用 srm 工具在 Linux 中安全地刪除文件和目錄。


  1. $ srm -vz private/*

下麵是使用的選項:

  1. -v – 啟用 verbose 模式
  2. -z – 用0而不是隨機數據來擦除最後的寫入

srm  在 Linux 中安全刪除文件

srm – 在 Linux 中安全刪除文件

閱讀 srm 手冊來獲取更多的使用選項和信息:


  1. $ man srm

4、 sfill -安全免費的磁盤 / inode 空間擦除器

sfill 是 secure-deletetion 工具包的一部分,是一個安全免費的磁盤和 inode 空間擦除器,它以安全的方法刪除可用磁盤空間中的文件。 sfill 會檢查指定分區上的可用空間,並使用來自/dev/urandom 的隨機數據填充它。

以下命令將在我的根分區上執行 sfill,使用 `-v' 選項啟用 verbose 模式:


  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 – 安全 swap 擦除器

它是一個安全的分區擦除器,sswap 以安全的方式刪除 swap 分區上存在的數據。

警告:請記住在使用 sswap 之前卸載 swap 分區! 否則你的係統可能會崩潰!

要找到交換分區(並檢查分頁和交換設備/文件是否已經使用,請使用 swapon 命令),接下來,使用swapoff 命令禁用分頁和交換設備/文件(使 swap 分區不可用)。

然後在(關閉的) swap 分區上運行 sswap 命令:


  1. $ cat /proc/swaps
  2. $ swapon
  3. $ sudo swapoff /dev/sda6
  4. $ sudo sswap /dev/sda6 #這個命令要花費一些時間,默認要進行 38 遍擦除

sswap  安全 swap 擦除器

sswap – 安全 swap 擦除器

閱讀 sswap 的手冊來獲取更多的選項和信息:


  1. $ man sswap

6、 sdmem – 安全內存擦除器

sdmem 是一個安全的內存擦除器,其設計目的是以安全的方式刪除存儲器(RAM)中的數據。

它最初命名為 smem,但是因為在 Debain 係統上存在另一個包 smem - 報告每個進程和每個用戶的內存消耗,開發人員決定將它重命名為 sdmem


  1. $ sudo sdmem -f -v

關於更多的使用信息,閱讀 sdmen 的手冊:


  1. $ man sdmem

原文發布時間為:2017-01-18

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-27 10:31:55

  上一篇:go  穀歌員工吐槽:人生不如意十之八九 在穀歌工作也不容易
  下一篇:go  Linux I/O 重定向基礎