一部のファイルを安全に消去する必要があります。以前にLinuxシステムでshred
を使用したことがあるので、調べてみたところ、shred
がmacportsのcoreutils
パッケージの一部であることがわかりました。やった port install coreutils
を使用してcoreutilsをインストールしますが、コマンドラインでshred
が見つかりません。
Macのコマンドラインでshred
を機能させるにはどうすればよいですか?問題がある場合は、Mac OS X 10.7.5(Lion)を使用しています
port install coreutils
はバイナリの名前にg接頭辞を追加するので、シュレッドは/opt/local/bin/gshred
。
OSXには、ファイルを安全に削除するための組み込みコマンドsrm
があります。 https://developer.Apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/srm.1.html を参照してください。 rm -P
を使用して、バイトのシーケンスでファイルを3回上書きすることもできます。
Sierra以降では、macOSにsrmが含まれなくなりました。しかし、ユーザーは自作でそれをインストールできます:
brew install homebrew/dupes/srm && brew link --force homebrew/dupes/srm
@ user495470の回答は、出された質問に対して正しいです。最近のシステムでは、srm
もshred
も実際には意味がありません。
これは主にSSDが原因です。磁気ディスクとは異なり、最新のTRIM対応ディスクは、削除されたデータをバックグラウンドで自動的に消去します。
SSDはウェアレベリングも実行します。これは、ファイルを「上書き」しようとする試みを、無駄なもの(別の物理的な場所に書き込むことになります)と望ましくないもの(ディスクの摩耗に不必要に寄与するもの)の両方を作成します。
SSDが付属するすべてのMacでは、TRIMが有効になっています。
もう1つの問題は、ファイルシステム、特にジャーナリングされたファイルシステムで、データが書き出される前に他の場所にデータのコピーを保持できます。
磁気メディアであっても、これは両方に問題を引き起こす可能性があります srm
:
すべてのユーザー[..]は、srmが適切なブロックを上書きするファイルシステムでのみ機能することを認識しておく必要があります。特に、[〜#〜] [〜#〜]は、ジャーナルファイルシステムの大部分で動作します。
そして shred
:
[..]細断処理は、ファイルシステムが所定の場所にあるデータを上書きするという非常に重要な前提に依存しています。 [..]多くの最新のファイルシステム設計は、この仮定を満たしていません。例外は次のとおりです。ログ構造またはジャーナルファイルシステム[..]
Mac OS X v10.3以降、HFS Plusボリュームはデフォルトでジャーナルされます。
最近、ファイルを安全に「削除」するための最良の方法は、FileVaultを有効にして(最初は暗号化されていないディスクに書き込みを行わないようにする)、削除してTRIMで整理することです。
不幸な出来事によって、あなたが磁気媒体上にいて、ジャーナリングを無効にしていて、何らかの理由でディスクを暗号化できない場合、選択肢は次のとおりです。