または、次を使用する代わりに、単にファイルのリンクを解除して関連パーティションで実行することもできますsrm
。wipe
shred
zerofree
mount /dev/sda1 /mnt
rm /mnt/confidential_file
umount /mnt
zerofree /dev/sda1
srm
この方法は、と比較してwipe
どのくらい安全ですかshred
?
PS:また、ファイルのリンクを解除し、ファイルの破砕をスケジュールする方法も探しています。
答え1
shred
個々のファイルは、そのファイルの他のコピーが作成されないことを保証できるだけ安全です。これは非常に大きなファイル(映画)に対して機能します。そのファイルを再エンコードしないと仮定すると、小さなファイル、文書、および実際に使用するすべての項目にはまったく機能しません。
「保存」をクリックするたびに別のコピーが作成されます。保存すると、ファイルはゼロバイトに切り捨てられ、新しいファイル(通常は異なる物理的な場所)に書き込まれるためです。ファイルシステムでさえ、以前のコピーがどこにあるかはもうわからないので、shred
他のユーティリティを使用して削除することはできません。
したがって、利用可能なすべてのスペースをカバーします。これは単一のファイルを破砕するよりもはるかに優れていますが、独自のトラップがあります。ルート予約を無視するにはルートである必要があり、ファイルシステムは単にいっぱいになるのが好きではありません。同時に着信他の書き込みは失敗すると、このプロセスで実際のデータが失われます。
したがって、次の方法があります。
truncate -s 1E sparsefile
shred -v -n 1 sparsefile
sync # other programs will lose data at this point
rm sparsefile
SSDを使用すると、組み込み機能としてゼロフリーがあり、fstrim/discardがすぐにその機能を実行し、空き領域をすばやく簡単に削除します。デフォルトでは、SSDを使用するとクリーンアップ後に削除されたファイルを復元できません。
安全ですか?これは、削除するファイルシステムとファイルサイズによって異なります。一部のファイルシステムには、ブロックを共有するいくつかの小さなファイルのような角があり、任意のデータでいっぱいの巨大なファイルを作成するときにそのスペースを上書きしません。また、ディレクトリエントリに残っているファイル名などの他のトレースがある可能性があります。
一度にデバイス全体を覆うことはできません。
# backup everything
blkdiscard /dev/sda # SSD
shred -v -n 1 /dev/sda # HDD
# create partitions, filesystems, restore backup