私にとって、次のコマンドはまったく同じことをします。
dd if=/dev/zero of=/dev/sd1
dd if=/dev/null of=/dev/sd1
rm -r /dev/sd1/*
つまり、適用結果は同じです。それとも、少なくとも最初と3番目のケースです。これは本当に本当ですか?
ベストアンサー1
いいえ、彼らは同じことをしません。rm /dev/sda1
デバイスノードを削除すると、デバイス上のすべてのファイルは変更されません。あなたが間違いを犯したと仮定して実際にそのようなことをしたならばrm -r /mountpoint/of/dev/sda1
、これらの命令は同様の効果をもたらすでしょう。
しかし、まだ重要な違いがあります。rm
inodeを削除すると、ファイルシステムを介してファイルデータに効果的にアクセスできなくなります。ただし、データは新しいデータで上書きされるまでデバイスに残ります。通常、RAWデバイスデータ(dd if=/dev/sda1
)をコピーし、それに対して回復ツールを実行してほとんどのデータを回復できます。
dd if=/dev/zero of=/dev/sda1
デバイスのすべてのバイトが上書きされます。かなりデバイスからデータを回復することはより困難になります。一部のフォレンジック会社では依然として魔法を使用できますが、このようなことが起こらないように、デバイスをランダムなデータで複数回上書きすることをお勧めします。しかし、これが本当に心配な場合は、データを削除する最善の方法は、デバイスを物理的に破壊することです。