質問

Shred の文書には、Shred が「効果的であることは保証されていない」と記載されています (下部を参照)。では、Ext3 ファイルシステムまたは Raid 上でドキュメントをシュレッドするとどうなるでしょうか?ファイルの一部をシュレッダーにかけますか?全体を細断する場合とそうでない場合がありますか?他のものを細断することはできますか?ファイルヘッダーのみを細断しますか?

注意:シュレッドは非常に重要な前提に依存していることに注意してください。ファイル システムが所定の場所にデータを上書きすること。これは物事を行う伝統的な方法ですが、多くの最新のファイルシステム設計はこの仮定を満たしていません。以下は、シュレッドが効果的ではない、またはすべてのファイルシステムモードで効果的であることが保証されていないファイルシステムの例です。

  • AIX および Solaris (および JFS、ReiserFS、XFS、Ext3 など) に付属するものなど、ログ構造化またはジャーナル化されたファイル システム

  • 冗長データを書き込み、一部の書き込みが失敗しても続行するファイル システム (RAID ベースのファイル システムなど)

  • スナップショットを作成するファイル システム (Network Appliance の NFS サーバーなど)

  • 一時的な場所にキャッシュするファイル システム (NFS バージョン 3 クライアントなど)

  • 圧縮ファイルシステム

ext3ファイルシステムの場合、上記の免責事項は、データ=ジャーナルモードでのみ適用されます(したがって、シュレッドは有効性が限られています)。ジャーナルはメタデータだけに加えてデータをファイルします。data = ordered(default)とdata = writebackモードの両方で、シュレッドは通常どおりに機能します。Mount Manページ(Man Mount)にドキュメントされているように、Ext3ジャーナリングモードは、 /etc /fstabファイルの特定のファイルシステムのマウントオプションにデータ=何かオプションを追加することで変更できます。

役に立ちましたか?

解決

すべてのシュレッドはない、上書きフラッシュ、成功をチェックして、繰り返しです。これは、ファイルを上書きすることは実際に元のデータが上書きされて含まれるブロックにつながるかどうかを調べるために絶対に何もしません。基本となるファイルシステムについての非標準的なものを知らなくても、それができないためです。

それは変更が半書かれているエラーからきれいに回復し、それらを停止するため、

だから、ジャーナリングファイルシステムは、所定の位置に元のブロックを上書きしません。データがジャーナルされている場合は、シュレッドの各パスは何も寸断されていない場合には、ディスク上の新しい場所に書き込まれることがあります。

(RAIDモードによって異なります)

RAIDファイルシステムは、元のブロックのコピーのすべてを上書きしない場合があります。冗長性がある場合、あなたは1枚のディスクを細断処理かもしれませんが、(s)は、他のではないか、別のパスは、各ディスクの一部が寸断されるように、異なるディスクに影響を与えていることがあります。

ように、任意のファイルシステムに、ディスクのハードウェア自体は、単にので、エラーを検出するために起こるかもしれない(または、フラッシュの場合、ウェアレベリングエラーなくても適用)と異なる物理ブロックに論理ブロックを再マップ元がマークされている障害のある(または未使用)決して上書きされます。

上書きを細断れるデータは、各パス上のランダムまたは非常に圧縮性のいずれかであり、もう1つは、ファイルが根本その圧縮されたサイズを変更するために、したがって再配置することが引き起こす可能性のいずれかであるため、

圧縮ファイルシステムは、元のブロックを上書きしない場合があります。 NTFS店小さなMFT内のファイル、およびシュレッドは一つのブロックの複数のファイルサイズを切り上げたときに、その最初の「上書き」は、典型的には、ファイルが、その後無意味に少し残して細断される新しい場所に出て移転されることになりますMFTスロットそのまま。

(あなたが直接あなたのFSとブロックドライバを扱う特殊な実装を持っていない限り - 私はどのようなことが実際に存在するかどうかわからない)

細断処理は、これらの条件のいずれかを検出することはできません。ファイルシステム上よりも、ディスク全体に使用された場合、それはより信頼性の高い理由です。

細断処理は、他のファイルの意味での「他のもの」を細断することはありません。いくつかの例では、代わりにあなたのデータを含むブロックの以前に割り当てられていないブロックをズタズタ上。また、(私はあなたが「ファイルヘッダ」によって何を意味するかです推測)ファイルシステム内のすべてのメタデータを細断処理しません。 -uオプションは、同じ長さの新しい名前にリネームして、短くすることにより、ファイル名を上書きしようとする試みをしてその下に1つの文字に1文字ずつ、ファイルを削除する前に。あなたも-v指定する場合は、この動作を確認することができます。

他のヒント

他の回答は、シュレッドが適切に機能しない理由をすでにうまく説明しています。

これは次のように要約できます。

シュレッドはパーティションに対してのみ機能し、個々のファイルには機能しません

他の回答で説明したように、単一のファイルを細断すると次のようになります。

  • ファイルシステムは同じファイルへの書き込みをディスク上の別の場所に送信する可能性があるため、実際のデータが実際に上書きされるという保証はありません。
  • fs が他の場所にデータのコピーを作成していないという保証はありません
  • 同じファイルを繰り返し書き込むため、FS は書き込みを「最適化」することさえ決定する可能性があります (同期によりこれが防止されるはずですが、繰り返しになります:保証なし)

でも、それが分かっていても あなたの ファイルシステムは上記の厄介なことを何も行いませんが、多くのアプリケーションがファイル データのコピーを自動的に作成することも考慮する必要があります。

  • ワードプロセッサ、エディタ(vimなど)などのクラッシュリカバリファイル。定期的に書きます
  • ファイルマネージャーのサムネイル/プレビューファイル (画像ファイル以外の場合もあります)
  • 多くのアプリケーションが使用する一時ファイル

したがって、データの操作に使用するすべてのバイナリをチェックしないと、知らないうちに右、左、中央にコピーされている可能性があります。唯一の現実的な方法は、常に完全なパーティション (またはディスク) をシュレッドすることです。

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

これを想像して:あなたはメタデータだけではないジャーナルジャーナル・ファイル・システムだけでなく、ファイルデータ上のファイルをディスクに書き込みます。ファイルのデータを一時的にジャーナルに書き込まれ、その最終的な位置に書き込まれます。今、あなたはファイルをシュレッド使用します。データが書き込まれた最終的な位置は、安全にシュレッドで上書きすることができます。しかし、一時的にファイルの内容が含まれていジャーナルのセクタはまた、あなたのファイルが本当に回復可能ではないことを約束することができるように上書きされることを保証するいくつかの方法を持っている必要があります細断処理。ジャーナルも固定位置に、又は固定長ではないファイルシステムを想像します。

あなたがシュレッドを使用している場合は、あなたのデータを再構成することができいかなる可能な方法が存在しないことを保証しようとしています。シュレッドの著者は、彼らがこの保証を行うことはできません彼らの支配を超えるいくつかの条件があることを正直されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top