2009-05-26 12 views
8

シュレッドの文書によれば、シュレッドは「効果的であることは保証されていません」(下を参照)。だから私がExt3ファイルシステムやRaid上の文書を細断した場合、どうなるでしょうか?私はファイルの一部を細断しましたか?それはときどき全体を細断し、時々そうではありませんか?それは他のものを細断することができますか?それはファイルのヘッダだけを細断しますか?細断処理:Journaled FSでは動作しませんか?

注意:細断処理は非常に重要な前提であることに注意してください。 ファイルシステムがデータを上書きすることに注意してください。これは伝統的な方法である ですが、多くの最新のファイルシステムの設計 はこの前提を満たしていません。細断 システムれているファイルの例である次の有効でない、またはすべてのファイルsys- TEMモードで 有効であることが保証されない:

  • ログ構造またはジャーナルファイルシステムは、このような供給されるもののようなAIXおよびSolaris(およびJFS、ReiserFSの、XFS、ext3の、等)のようなRAIDベースのファイルシステムのような冗長データを作成し、いくつかの書き込みが失敗した場合でもに運ぶ

  • ファイルシステム、

  • ファイルとネットワークアプライアンスのようなスナップショットを作成するシステムNFSサーバこのようなNFSバージョンなどの一時的な場所にキャッシュ

  • ファイルシステム、3つのクライアント

  • 圧縮ファイルシステムext3ファイルシステムの場合

、上記の免責事項が適用される (したがって、シュレッドは有効性が限定されています)。データ=ジャーナル モードでのみ、ジャーナルはメタデータだけでなくファイルデータも記録します。 では、data = ordered(デフォルト)とdata = writebackモードの両方で、細断処理 は通常通り動作します。 Ext3ジャーナリングモードは、 マウントマニュアルページ(man mount)に記載されているように、 data = somethingオプションを の/ etc/fstabファイル内の特定のファイルシステムのマウントオプションに追加することで変更できます。

答えて

12

すべてシュレッドは、上書き、フラッシュ、成功の確認、繰り返しです。ファイルを上書きすると、元のデータが上書きされているブロックが実際に生成されるかどうかはわかりません。これは、基礎となるファイルシステムについて非標準的なことを知らなければ、それができないからです。

したがって、ジャーナリングファイルシステムは元のブロックを上書きしません。その理由は、変更が半分書かれたエラーからきれいに回復することができなくなるためです。データがジャーナリングされている場合、シュレッドの各パスはディスク上の新しい場所に書き込まれることがあります。その場合は何も破棄されません。

RAIDファイルシステム(RAIDモードによって異なる)は、元のブロックのすべてのコピーを上書きしない場合があります。冗長性がある場合は、1つのディスクを細断することができますが、他のディスクは破棄しないでください。異なるパスが異なるディスクに影響を与え、各ディスクが部分的に細断されることがあります。

どのファイルシステムでも、ディスクハードウェア自体がエラーを検出することがあります(フラッシュの場合は、エラーがなくてもウェアレベリングを適用します)。そして、論理ブロックを別の物理ブロックに再マップしますオリジナルは欠陥(または未使用)とマークされていますが、上書きされることはありません。

シュレッドを上書きするデータはランダムまたは圧縮ごとに非常に圧縮され、いずれのファイルでも圧縮されたサイズが大幅に変更され、再配置される可能性があるため、圧縮ファイルシステムは元のブロックを上書きしません。 NTFSはMFTに小さなファイルを格納し、ファイルサイズを1ブロックの倍数に切り上げると、その最初の "上書き"によってファイルが新しい場所に再配置されますが、通常はファイルが新しい場所に再配置され、 MFTスロットはそのままです。

Shredはこれらの条件のいずれかを検出できません(fsブロックドライバを直接処理する特別な実装をしていない限り、実際にそのようなものが存在するかどうかはわかりません)。そのため、ファイルシステムよりもディスク全体で使用する方が信頼性が高いのです。

シュレッドは他のファイルの意味で「その他のもの」を決して破棄しません。上記のケースの中には、データを含むブロックではなく、以前に割り当てられていないブロックを細断するものがあります。また、ファイルシステム内のメタデータを細断処理しません( "ファイルヘッダー"という意味です)。 -uオプションは、同じ長さの新しい名前に名前を変更し、ファイルを削除する前に一度にその1文字を1文字に短縮することによって、ファイル名を上書きしようとします。 -vも指定すると、これを実際に見ることができます。

2

データがディスク上の複数の場所に存在する可能性があります。データがちょうど1つの場所に存在する場合、シュレッドはその情報を決定論的に「消去」することができる。ただし、ジャーナルやその他の高度なファイルシステムを使用するファイルシステムでは、一時的にディスク上の複数の場所にファイルのデータを書き込むことがあります。シュレッドは事実の後でこれについて知る方法がなく、データが一時的にディスクに書き込まれた場所を知る方法がありません。したがって、これらのディスクセクタを消去または上書きする方法はありません。

これを想像してください。ファイルを、ジャーナルファイルシステム上のディスクに書き出し、メタデータだけでなくファイルデータもジャーナルします。ファイルデータは一時的にジャーナルに書き込まれ、最終的な場所に書き込まれます。これで、ファイルに細断処理が施されました。データが書き込まれた最終的な場所は、安全に上書きすることができます。しかし、シュレッドは、あなたのファイルの内容を一時的に格納していたジャーナルのセクターも上書きされ、あなたのファイルが本当に回復できないと約束することができます。ジャーナルが固定された場所にも固定長でもないファイルシステムを想像してください。

シュレッドを使用している場合は、データを再構築する方法がないことを確認しようとしています。シュレッドの作者は、この保証をすることができない場合、コントロールできない条件がいくつか存在することを正直言っている。

3

他の回答は、シュレッドがその仕事を適切に行うことができない理由を説明してくれています。

としてこれをまとめることができますが

  • シュレッドのみ使用すると、単一のファイルをシュレッド場合としては、他の回答で説明したパーティションではなく、個々のファイル

    上で動作しますファイルシステムがディスク上の異なる場所に同じファイルへの書き込みを送信する可能性があるため、実際のデータが実際に上書きされることは保証されません。

  • gがありませんあなたが同じファイルを繰り返し書いているので、fsはあなたの書き込みを "最適化"するかもしれません(同期はこれを防ぐために仮定されますが、保証はありません)

しかし、あなたはあなたファイルシステムが、あなたはまた、多くのアプリケーションが自動的にファイルデータのコピーを作成することを検討する必要があり、上記の嫌なことのいずれかを実行していないことがわかっている場合でも:

  • クラッシュリカバリファイルをどのワープロ、エディタ(vimなど)がペリを書くかあなたがあなたのデータを操作するために使用するすべての単一のバイナリをチェックする短い多くのアプリケーションがそう

を使用odically ファイルマネージャで

  • サムネイル/プレビューファイルを(時には非imagefiles用)
  • 一時ファイル、あなたが知らないうちに右にコピーされた可能性があります。&現実的な唯一の方法は、完全なパーティション(またはディスク)を常に細断することです。

  • 関連する問題