2011-08-15

[linux] shred でディレクトリを完全削除する

VPSを引っ越したり(通常盗み見できませんが念の為)、HDDを破棄する場合など、削除したつもりのファイルの内容を残したくない場合、shred(シュレッド?)を使うと、ファイルの内容を意味のないデータで上書きしつつ削除できます。今回はさらに、findを使ってディレクトリ内のファイルをすべて削除してみました。

shredが無いときは、ファイルを削除した後、ランダムデータを空き領域いっぱいに書き込む方式でも十分かもしれません。

OS XにはsrmというSecureなrmコマンドがあって、FreeBSDではrm -Pを使うと良いようです。

# 注意:TARGET_DIR内の全てのファイルが再帰的に削除されます
$ find TARGET_DIR -type f -print0 | xargs -0 shred --remove
$ rm -rf TARGET_DIR # ディレクトリが残っているので削除します

参考
DSAS開発者の部屋:shredのあれこれ