[完全用 GNU/Linux 工作] 30. 銷毀資料 - Shred
過去在 GNU/Linux 裡,凍仁會使用 dd (1),此指令會將資料填零而達到抹除磁碟的功用,但就算這樣還是有被專業人士還原的風險;現在凍仁都改用 shred (2) 指令來完成這項任務,此指令是專門用來撕碎資料的。
將 /dev/sdX 裝置填零。
2.1. 開始 shred 之前,您必須先安裝 coreutils 套件。
2.2. 抹除硬碟
2.3. 抹除檔案
※ shred 在 ext3, ext4 這類的日誌檔案系統上運作時可能無法完整清除,若真不放心可以試試 hdparm。
1. dd
將 /dev/sdX 裝置填零。
[ jonny@wheezy ~ ]
$ dd if=/dev/zero of=/dev/sdX bs=1M Enter
2. shred
2.1. 開始 shred 之前,您必須先安裝 coreutils 套件。
[ jonny@wheezy ~ ]
$ sudo aptitude install coreutils Enter
# -v 顯示進度。
# -f 強制寫入,必要時允許變更權限寫入。
# -z 用零覆寫並撕碎。
# -n 指定覆寫次數。
2.2. 抹除硬碟
[ jonny@wheezy ~ ]
$ sudo shred -vfz -n 10 /dev/sdX Enter
shred: /dev/sdX:11 次之第 1 次 (random)... shred: /dev/sdX:11 次之第 1 次 (random)...471MiB/932GiB 0% shred: /dev/sdX:11 次之第 1 次 (random)...472MiB/932GiB 0% shred: /dev/sdX:11 次之第 1 次 (random)...949MiB/932GiB 0% ......
2.3. 抹除檔案
[ jonny@wheezy ~ ]
$ shred -vu -n 10 hello-sherd.txt Enter
shred: hello-sherd.txt: pass 1/3 (random)... shred: hello-sherd.txt: pass 2/3 (random)... shred: hello-sherd.txt: pass 3/3 (random)... shred: hello-sherd.txt: removing shred: hello-sherd.txt: renamed to 000000000000000 shred: 000000000000000: renamed to 00000000000000 shred: 00000000000000: renamed to 0000000000000 shred: 0000000000000: renamed to 000000000000 shred: 000000000000: renamed to 00000000000 shred: 00000000000: renamed to 0000000000 shred: 0000000000: renamed to 000000000 shred: 000000000: renamed to 00000000 shred: 00000000: renamed to 0000000 shred: 0000000: renamed to 000000 shred: 000000: renamed to 00000 shred: 00000: renamed to 0000 shred: 0000: renamed to 000 shred: 000: renamed to 00 shred: 00: renamed to 0 shred: hello-sherd.txt: removed
※ shred 在 ext3, ext4 這類的日誌檔案系統上運作時可能無法完整清除,若真不放心可以試試 hdparm。
本文同步發佈於 iT 邦幫忙。
相關連結:
★ Linux 上處理壞軌硬碟的兩三事 | Rex's blah blah blah
★ LVCHEN 的美國生活指南: 破解格式化的小迷思(上)
資料來源:
★ Ubuntu密技 - 徹底刪除資料 | Alfred's Cave
★ linux指令:shred將檔案碎掉 @ Linux使用者的王國 :: 痞客邦 PIXNET ::
請問如果先格式化為 ntfs 或 fat32, 再使用 shred, 會不會就沒有您說的, 無法完全清除的問題了呢?
回覆刪除ntfs 也是與 ext3、ext4 一樣是日誌式的檔案格式,應該沒什麼差別才是。
刪除不過我想最保險了話,還是直接從硬體下手,把硬碟直接破壞最實際。XD