| Linux Tips | |
|
ファイルを完全に消去するには 北浦訓行 |
|
ハードディスクやMO、FDなどの記録メディアを破棄したり譲渡する場合、記録されているデータを完全に消去することが望ましい。特に、個人情報や社外秘のデータを記録したことのあるディスクの場合、完全な消去は必須だ。
rmコマンドでファイルを消去すれば、見かけ上そのファイルの内容を表示することはできなくなる。しかし、rmコマンドは該当ファイルのiノードを解放するだけで、データの内容自体はディスク上に残る。従って、ddコマンドなどによって直接データを取り出すことも可能であり、データが流出する可能性は否定できない。
Linuxでファイルを完全に消去するには、shredコマンドを使う。shredは、ファイルを特別なパターンで繰り返し上書きすることによりデータの復旧をより困難にするツールで、GNU core utilsに含まれている。
ファイルを削除する際は、以下のように--removeオプション(-uでも可)を付けてファイルを指定する。
$ shred --remove foo.txt |
--removeオプションを付けないでファイルを指定すると、ファイル名は残る(lsコマンドなどで表示される)が、内容は破壊される。
また、ハードディスクなどのデバイスの内容を丸ごと消去する際は、rootで、
# shred -n 3 -v /dev/hdb |
のようにオプションとデバイスを指定する。上記の場合、/dev/hdbに対してランダムな書き込みを3回繰り返す(-n -3)。-vは、進ちょく状況を表示するオプションだ。
| 注:ここではランダムな値を3回書き込むように設定したが、3回であれば万全という意味ではない。あくまでも目安として考えていただきたい。 |
これくらいの消去でもそれなりの時間がかかるが、完ぺきを期すなら-n −3ではなく-zオプションを使う。-zオプションはランダムな書き込みを25回行い、最後にNULL(0)を書き込むため相当な時間が必要になる。
# shred -z -v /dev/hdb |
ランダムなデータを書き込む理由は、データを読み取られる可能性があるからだ。例えば、
# dd if=/dev/zero of=/dev/hdb |
などとして、ハードディスク全体に0を書き込むと、それをPCに接続してもデータを復元することはできない。しかし、特別な装置を使うと「0に0を上書きした場合」や「1に0を上書きした場合」の違いをアナログ的に読み取ることができるため、データを復元できる可能性がある。そのような装置でも読み取り不可能にするために、ランダムな値を複数回書き込むのである。
ちなみに、ハードディスクが1台しか搭載されていないPCのハードディスク内容を消去するときは、KNOPPIXを使うと便利だ。KNOPPIXをコンソールモードで起動するにはの方法でKNOPPIXをコンソールモードで起動して、shredの消去先として/dev/hdaを指定すればいい。
| Linux Tips Index |
| Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
|
TechTargetジャパン
- エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう - iOSで使えるVimが登場! その姿に迫る (2012/1/25)
2012年を迎えてすぐ、iOS向けのVimが登場しました。PC向けのVimとはどのように違い、どういう特徴があるのでしょうか
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
