大事なファイルを削除したいときやディスクを廃棄・譲渡する時などは、データを完全に消去したいものです。
正直、プロではないので、データ復旧の詳細は詳しくありませんが、rmコマンドでデータを消去してもddコマンド等でデバイスを吸い出して、細かく解析していけば(あまり断片化されていなければ)データは復旧できるかもしれません。
そんなときは、"shred"コマンドが使えるようです。
"shred"を使うと、データの内容を特別なパターンで繰り返し上書きを行い、論理的に破壊することが可能です。
"shred"はGNUのcoreutilsに含まれているコマンドで、おそらくLinuxであれば何もインストールせずとも使えるコマンドかと思います。
尚、"shred"を利用してのディスク廃棄などは、自己責任でお願いします。
さて、"shred"の使い方は、、、
$ shred -u hoge.txt
な感じで、-uオプションの後にファイル名を指定します。
ちなみに、-uオプションをつけない場合は、指定したファイルは残りますが、特別なパターンで上書きされ破壊された状態になります。
ディスクやパーティションをまるごと消去したい場合は、、、
# shred -n 3 -v -z /dev/hdb
な感じで、デバイス名を指定して実行します。
上の例では、-nオプションで3を指定することで、3回繰り返して特別パターンの書き込みを実施、-vオプションで進捗状況を表示、-zオプションで、全体に0を書き込みゼロクリアを行います。
ちなみに、-nオプションを省略するとデフォルトである25回の書き込みが実施されます。時間に余裕のある場合は、多くの回数を実施すべきです。
PC自体を完全に廃棄する(マシンに1台しかハードディスクが付いていない場合)ときなどは、KNOPPIXなどCDのみで動作(Live-CD)するLinuxを使って、CDからOSブートして"shred"コマンドを利用すると良いかと思います。
余談
一方、Linux上で誤って消去してしまった場合、ツールを使った復旧方法についてのリンクを紹介しておきます。
場合によっては、lsofコマンドやmcコマンドが使えるかもしれません。
shredコマンドのオプション一覧
-f, --force change permissions to allow writing if necessary -n, --iterations=N Overwrite N times instead of the default (25) --random-source=FILE get random bytes from FILE (default /dev/urandom) -s, --size=N shred this many bytes (suffixes like K, M, G accepted) -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding --help display this help and exit --version output version information and exit
Linuxセキュリティクックブック―システム防御のためのレシピ集
- 作者: ダニエル・J.バレット,ロバート・G.バイネス,リチャード・E.シルバーマン,Daniel J. Barrett,Robert G. Byrnes,Richard E. Silverman,天木健介,小幡昇,西原啓輔,伊藤真浩,高杉昌督
- 出版社/メーカー: オライリージャパン
- 発売日: 2003/11
- メディア: 単行本
- 購入: 1人 クリック: 6回
- この商品を含むブログ (7件) を見る