shred
を使用すると、ファイルが上書きされて回復不能になることはすでに知っています。ただし、shred
を使用してディレクトリを非表示にすることはできません。
エラーメッセージ:
書き込み用に開くことができませんでした:ディレクトリです
私はハードドライブを所有していないため、dd
のようなハードドライブブラスター/リフォーマッターを使用できません(ssh経由でのみアクセスできます)。
私の問題は、実際のファイルをすべて削除した後でも、便利な名前のフォルダー名が残っていることです。名前は視聴者に何が入っていたかを示します。空のフォルダを削除しても、それでも回復できますか?ディレクトリ用のshred
はありますか?
だからあなたはディレクトリ名を隠したい...実験。
# truncate -s 1G foobar
# losetup -f --show foobar
/dev/loop0
# mkfs.ext4 /dev/loop0
# mount /dev/loop0 /mnt/tmp
# cd /mnt/tmp
# mkdir collywobbles
# sync
# mv collywobbles shriggelfigs
# sync
# mv shriggelfigs flapjacks
# sync
# rmdir flapjacks
# cd ..
# umount /mnt/tmp
つまり、基本的には空のファイルシステムがあり、その中にディレクトリを作成し、名前を2回変更して、最後に削除しました。回復可能なものは何ですか?
# strings /dev/loop0 | grep -E '(collywobbles|shriggelfigs|flapjacks)'
flapjacksles
shriggelfigs
flapjacksles
shriggelfigs
collywobbles
shriggelfigs
ああ。 すべてです。すばらしい。 flapjacks
は少なくとも2つのcollywobbles
を上書きしたようですが、flapjacksles
が少し短かったため、flapjacks
に変換しました...
トレースを残さずにディレクトリを安全に削除するにはどうすればよいですか?
単一のファイルを安全に削除したり、実際にディレクトリ名を適切に削除したりすることはできません。せいぜい、ファイルシステムがまだ認識しているファイルの現在の表現の内容を上書きすることができます。ファイルのコピーを作成したことがありますか?ファイルを編集して保存したことがありますか?残念ながら、ファイルシステム自体が削除され、同じ名前のファイルに置き換えられたために、ファイルシステム自体が認識しなくなったコピーが存在する可能性があります。
ファイルをshred
できます。ファイルシステムの空き領域全体をshred
することもできます。それはそれの約99%を取り除くのに良いです。それが十分でない場合、あなたはすべてを出さなければなりません。あなたが完全なことをするまで、あなたはそれが本当になくなったかどうかを決して知りません。
すべてのデータをコピーします。 shred -v -n 1 /dev/thedisk
。データをコピーして戻します(保持したいビットのみ)。
唯一の安全な方法は
dd
を使用しないでください 、cat
も同様に優れています。これがルートファイルシステムでない限り、リモートでそれを行うことができます。ルートファイルシステムの場合、やりたいことは不可能です。繰り返しません frostschutzの優れた説明 それほど厳しくないアプローチでは、ワイプしたいものが確実にワイプされない理由について。
これを管理する最善の方法は、予防的にデータを暗号化することです(encfsやecryptfsなどのファイル名を暗号化するファイルシステムを使用して)。データをワイプする場合は、必ずキーのすべてのコピーを破棄してください。
OPがDebian/Ubuntuまたはそのバリアントを使用している場合は、 このAsk Ubuntuの投稿 、特にsecure-delete
推奨される回答のパッケージ。