トレースを残さずにディレクトリを安全に削除する方法は?

トレースを残さずにディレクトリを安全に削除する方法は?

shredを使用すると、回復不能な方法でファイルを上書きすることを聞いた。ただし、shredディレクトリを非表示にすることはできません。

エラーメッセージ:

書き込み用に開けません。ディレクトリです。

ddハードドライブを所有していないため、ハードドライブ/リフォーマーは使用できません(sshを介してのみアクセスできます)。

私の問題は、実際のファイルをすべて削除した後も、役に立つ名前のフォルダ名がまだ残っていることです。名前は聴衆に何があるかを伝えます。空のフォルダを削除しても回復できますか?shredforディレクトリがありますか?

答え1

唯一の安全な方法は

  1. すべてのファイルを別のファイルシステムにコピーします。
  2. ファイルシステムをマウント解除します。
  3. ファイルシステムを含むパーティションまたはボリュームを消去します。
    これはあなたの質問で言及した「ハードドライブブラスター」です。使用しないでくださいddcat同じように良いです。ルートファイルシステムでない限り、これをリモートで実行できます。ルートファイルシステムでは、目的の操作は不可能です。
  4. ファイルシステムを再作成し、ファイルを復元します。

繰り返さないFrostschutzのすばらしい説明あまり厳格な方法では、欲しいものを確実にクリアできない理由

この問題を管理する最良の方法は、予防的に次のことを行うことです。データを暗号化します(encfsやecryptfsなどのファイル名を暗号化するファイルシステムを使用)。データを消去するには、キーのすべてのコピーを破棄してください。

答え2

だからディレクトリ名を隠そうとしています...実験です。

# 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変更すると...flapjackslesflapjacks

トレースを残さずにディレクトリを安全に削除する方法は?

個々のファイルを安全に削除できず、実際にディレクトリ名を正しく削除することもできません。最良のシナリオでは、ファイルシステムがまだ認識しているファイルが現在示す内容を上書きできます。このファイルのコピーを作成したことがありますか?ファイルを編集して保存したことがありますか?残念ながら、ファイルシステム自体はコピーが削除され、同じ名前のファイルに置き換えられているため、コピーがあることを知らなくなる可能性があります。

保管できますshredshredファイルシステムの利用可能なスペース全体を使用することもできます。これは約99%のケースを排除するのに最適です。それが十分でない場合は、最善を尽くす必要があります。すべての作業を完了するまで、それが本当に消えたかどうかはわかりません。

すべてのデータをコピーします。shred -v -n 1 /dev/thedisk。データを再コピーします(保存したいビットのみ)。

答え3

OPがDebian / Ubuntuまたはバリアントを使用していることを確認してください。Ubuntuのポストに聞いてください、特にsecure-delete推奨回答のパッケージです。

関連情報