よし呟こう

思ったことを呟きます。

Mac OS X shred コマンド導入とデータ削除

Axifof です。ファイル削除、HDDデータ削除の際に、修復不能(と考えられる)方法で削除するために、Mac OS X に shred コマンドを導入する話です。普段 Linux を使っていて、最近 Mac に乗り換えたのですが、shred コマンドが見当たらなかったので GNU Coreutils で導入しました。

brew install coreutils

によって、GNU Coreutils をインストールします。この中に shred コマンドが含まれています。削除したいファイル/フォルダ A, B, C に対して

sudo shred -uvz A B C

のように実行します。


コマンドとその内容は以下の表を参照ください[2]。だいたいこのぐらいのコマンドを覚えておけば良いと思います。

オプション 内容
-v コマンドの実行状況を表示します。
-u 上書き後にファイルを削除します。
-z 上書き後に0で上書きをします。
-n 乱数上書き回数の指定をします。デフォルトでは3です。

表の-n オプションの内容に関して、「デフォルトでは3です」 は、あえて入力しなくても3回は実行されるという意味です。-v オプションは付けておくことをお勧めします。ファイルサイズが大きくなったり、-n オプションで大きな値を設定したときは、画面がフリーズしたように見えて精神衛生上良くないですからね。


HDDなどからファイルを削除する場合、通常のゴミ箱に捨てて、ゴミ箱を空にするような方法では、実はほぼ全てのファイルが復元できてしまいます。ファイル復元ソフトによって、私自身、何度も救われたことがあるのですが、機密書類を削除したPCを手放すときには、復元されないか心配になります。そこで私は機密書類の処分にはこのような方法でデータを消しています。

しかし高度な磁気技術によって、特殊な技能を持つ人にしてみれば、このように悪あがきをしても内容を復元できてしまうようです[1]。ただ、一般人には不可能ですから、安心していいと思います笑。

ところが、聞くところによるとSSDほど高度な記録媒体になるとそもそも削除が難しいらしいです[1]。その場合は最初から暗号化しておけば良いとのことです。ということは SSD オンリーの Macbook を使っている私には、このコマンドはあまり意味がない...?


引用および更なる学習へ

[1] データの完全消去 - Wikipedia データを削除することに関する Wikipedia の記事です。グートマン方式(35回上書き)、国防総省方式など規格があることや、何ができるのかなどがわかります
[2] https://linuxjm.osdn.jp/html/GNU_coreutils/man1/shred.1.html Linux での shred コマンドに関する解説です。GNU Coreutils で使えるものと同じはずです。