ディスク上のファイルは rm コマンドで削除しても、見かけ上削除されていますが、 データはまだ残っており、データ復旧ツールなどを使えば削除したデータを復旧出来る可能性があります。破棄したHDDや外部の人とのデータ受け渡しに USBメモリを使う場合、データの漏洩を防ぐ為には ディスクのクリーンアップをする事が重要です。
scrub コマンドは、ランダムなデータを上書きしてデータをセキュアに消去してくれるコマンドです。scrub は、以下のコマンドでインストールします。
$ sudo apt -y install scrub
試しに現在パソコンに刺さっている USB メモリのデータを削除します。
df コマンドを実行するとUSBメモリのデバイス名を確認します。
$ df
:
/dev/sdb1 7826432 7528348 298084 97% /media/taro/E2E9-8001
USBメモリをアンマウントします。
$ sudo umount /media/taro/E2E9-8001
$ sudo scrub /dev/sdb1
scrub: using NNSA NAP-14.1-C patterns
scrub: please verify that device size below is correct!
scrub: scrubbing /dev/sdb1 8031043584 bytes (~7659MB)
scrub: random |................................................|
scrub: random |................................................|
scrub: 0x00 |................................................|
scrub: verify |................................................|
ディスクのファイルシステムが壊れているので、exFAT ファイルシステムでフォーマットして元に戻します。
$ sudo apt -y install exfat-utils
$ sudo mkfs.exfat /dev/sdb1
ディスク全体をクリーアップするは時間がかかります。ファイルのみをセキュアに削除したい場合は、srmコマンドが便利です。srm コマンドは、secure-delete パッケージに含まれているので以下のコマンドでインストールします。
$ sudo apt -y install secure-delete
srm コマンドは、rm コマンドと同じように実行します。-Vz オプションをつけて実行するとセキュアに削除されていることが分かります。
$ srm test.txt
$ srm -r testdir
$ srm -Vz test.txt
Using /dev/urandom for random input.
Wipe mode is secure (38 special passes)
Wiping test.txt ************************************** Removed file test.txt ... Done