![](https://mekou.com/linux-magazine/wp-content/uploads/2018/10/f81fd2e4c52864042852c112ce927ae2-214x214.png)
最近、データを手渡しで渡す場合、USBメモリを良く使うのではないでしょうか?受け渡しが終わるとUSBメモリ内のファイルを削除して、また新しいデータを入れてデータの受け渡しを行う。しかしUSB内のデータは見かけ上削除されていますが、データはまだ残っており、データ復旧ツールなどを使えば削除したデータを復旧出来る可能性があります。USBメモリを使ってデータを外部の人に渡す場合、データの漏洩を防ぐ為にはUSBメモリのクリーンナップをする事をお勧めします。
USBメモリをmkfsコマンドでフォーマットすればクリーンナップされるのでは?と思いがちですが、フォーマットでもデータは見かけ上削除されていますが、データはまだ残っています。そこでお勧めしたいのが shred コマンドです。shred コマンドはランダムなデータを上書きしてデータを完全に消去してくれるコマンドです。USB メモリをパソコンに差し込み df コマンドを実行するとUSBメモリのデバイス名が分かるので以下のようにコマンドを実行しUSBメモリのデータを削除します。
$ df : /dev/sdc1 3997040 144 3996896 1% /media/taro/37D6-5689 $ umount /media/taro/37D6-5689 $ sudo shred -v -n 5 -z /dev/sdc1 <- デバイス名 -v 詳細を表示 -n ランダムな値を 5 回(デフォルトは3回) 書き込む。 -z 書き込み最後に0データを書き込む。 再度、デバイスのフォーマットを行います。 $ sudo mkfs.exfat /dev/sdc1
shred はディスクにだけではなくファイルに対しても行えます。ABCDEFG と書かれた sample.txt ファイル に対してshred コマンドを実行し結果をダンプしてみると意味不明なデータに書き換わっている事が分かります。これなら、データ復旧ツールを使っても削除したファイル名は分かるかもしれませんが、内部のデータは取り出せません。
$ od -tx1c sample.txt 0000000 41 42 43 44 45 46 47 0a A B C D E F G \n 0000010 $ shred -v -n 5 sample.txt $ od -tx1c sample.txt 0000000 dd be a5 e7 21 70 af ed b4 f1 7f ea 4d ca bc a6 335 276 245 347 ! p 257 355 264 361 177 352 M 312 274 246