web-dev-qa-db-ja.com

以前のバージョンのファイルを復元できますか?

ファイルを削除しても、実際には「削除」されず、「必要に応じて上書きできる」とマークされているため、そのスペースが必要になったときにファイルが上書きされることを知っています。これは、ファイルが削除されると、そのファイルへのすべてのリンクが失われても、復元することができます(この情報のいずれかが間違っている場合は、この質問を編集して正しい方法で説明してください)。
しかし、編集したばかりのファイルにも同じことが当てはまりますか?以前のバージョンが.saveファイルなどにされていない場合、ファイルの以前のバージョンを復元できますか?つまり、ファイルを編集してから変更を保存した場合、削除されたファイルでできるように、ファイルの以前のバージョンを回復する方法はありますか?そうでない場合、誰かが削除されたファイルを適切に回復できるようにしたくない場合、最初にファイルを編集し、内容を別のものに置き換える必要がありますか?

だから明確にするために、これらは私が答えたいポイントです:

  • 実際に削除されたファイルでできるように、バックアップファイル(.saveファイルなど)が作成されていない場合、以前のバージョンのファイルを回復することはできますか?

  • 削除する前にファイルを編集するのは、単に削除するよりも安全ですか(つまり、ファイルの内容全体を他の内容で上書きしてから削除する方が安全ですか)。

  • 最後に、BleachBitなどのファイルを「シュレッド」するツールは、ファイルを削除する前に、ファイルのコンテンツを他のコンテンツ(暗号化されたバージョンの秘密キーなど)で上書きするだけですか、それとも別の方法を使用しますか?

ただし注意してくださいファイルの変更を記録する方法については質問していませんが、削除する前にファイルを編集する方が削除するよりも安全かどうか、または以前のバージョンができるかどうかを知りたいので、この質問をしています回復する。ファイルの変更を監視するためにバージョン管理システムを使用すべきだと言っている回答には興味がありません。

6
user364819

はい、上書きされたファイルを回復することは可能ですが、回復はファイルシステムとアプリケーションによって異なります。再使用。 FAT、EXT2/3/4、NTFSはすべてマークによってファイルを削除します。 (他のファイルシステムの経験なし)

よく書かれたすべてのアプリケーションは、通常、一時ファイルを開いて、それが正しく書き込まれている場合、古いファイルを削除し、一時ファイルの名前を新しいファイルに変更します。この方法では、新しいファイルを書き込んでいるときにプログラムがクラッシュし、古いファイルは破壊されません。 (例:LibreOfficeがファイルを上書きする方法です)

通常、セキュアワイプアプリケーションはファイルを上書きしますが、EXT4およびNTFSで最適化インテリジェンスとジャーナリングが作動するように絶対に、上書きされたファイルが完全になくなったことを確実に確認し、全体空き領域も

(暗号化されたボリュームでも)

2
Fabby

あなたが何を求めているのか理解できれば、答えはnoです。ファイルに変更を加えると、そのファイルのデータは現在の場所で上書きされます。ファイルを削除するようなものではなく、システムにcanこのデータを上書きし、新しいデータがハードディスク上の位置を取得できることをシステムに伝えます。データは上書きされ、以前のバージョンは既に上書きされていたため(今は繰り返し聞こえますが)、以前のバージョンを復元することはできません。コメントに記載されたポイントを含めるには、ファイルの内容を編集し、結果のファイルが元のファイルよりも小さいである場合、データの一部を回復できることに注意することが重要です。そのため、おそらくファイルをテキストエディターで(ファイルの種類に関係なく)開き、すべての内容をそのまま消去してから、キーを1時間置いて、ファイルを単一の文字。次に、1文字だけを何度も繰り返して、非常に大きなサイズのファイルを作成できます。もちろん、ソリッドステートメモリとフラッシュメモリの動作は少し異なりますが、これらの種類のストレージでは常に暗号化を使用することが最も安全な方法のようです。

あなたが何を求めているのか理解している場合、答えはyesです。ファイルを編集し、現在の内容をランダムなゴミに置き換え、保存してから削除する方が安全です。その後、ファイル回復ツールを使用すると、回復されたファイルはランダムなゴミでいっぱいになります。これは、本質的に、シュレッドが行うことです。ファイルが以前にあった場所にゼロを「保存」し、ファイル回復ツールを使用すると、ゼロになったデータを回復します。

4
user323419

帽子もリングに投げます。 =)

ファイルが暗号化されているかどうかにかかわらず、ファイルが削除される前に回復できないデータ破壊の場合は、scrubというアプリケーションを使用します。

Sudo apt-get install scrub

次に、削除する前にファイルを破棄するのがコマンドです:

scrub <filename>

暗号化されたファイルが破棄される例は次のとおりです。

~$ cat testfile.des3 
Salted__�����a�C7�"U��<���A�B-ԋ�����X�����E �5];A8���e�R�~���N��Ե��F��}Z;�_���^k`��:4��M�w�z��h3G����������+����?N(ٿ��M�_YW��CX��xi����k��ϝ#i����Q�F�����Ȃ(���Q�&;���w�o��^/
                                    @"�՗�RX��S੏Ͷ��*�H��-�u�6�2�>�3�m�Gz�����5���f0�D&"$j7W���mH$�C��Q���z�Sxk��#�����Pɀ
                                               �z�NVբ��ARQz��A�?�A���A��/��+,)��M~_��(��q����x3+y��S+�l���gT�;hl���d'�O�Z#�Գ�uHgu1.�>��e�Ⱥ����Yo��.�3$D�c؛��D Jb��#4WrQA��Rr���0�=�2i3V�F�f��K�HLUQ@ˤ'��"�����ԣ
3�v���v�ʝ.%&�?����ۿa��|J������1�c����N@(�r�0E6�܍����Ϫo��A���I`cj)0��3�*c`�hǬ\�y2��x�><�������[�
C���W�:�#�"[�q��       #�λ$�>#x;��n�-d#K��_g@�B»h��m1���ݻ��]���gv���
                WI�$J
                        h���l;a�;�Y�2��3��A6��� ڜ������W���ʬ����v7�1����ȄOM~Ux�iR('��78������B�EK0׆�$~����p�f���]2������
                                              �~����D�);�X]^�e:��B��.}&�>C{3�j�']���X���,ǣ[\T��r�7<q#
                              �Ħ� ��m�>��@,$/Ɂ�y�D��i��4D�����'���----

~$ scrub testfile.des3 
scrub: using NNSA NAP-14.1-C patterns
scrub: padding testfile.des3 with 3184 bytes to fill last fs block
scrub: scrubbing testfile.des3 4096 bytes
scrub: random  |................................................|
scrub: random  |................................................|
scrub: 0x00    |................................................|
scrub: verify  |................................................|

~$ cat testfile.des3 
SCRUBBED!--------------------

したがって、testfile.des3を削除すると、回復できるのはSCRUBBED!--------------------というファイルのみです

3
Terrance

ファイルの以前のバージョンを回復できるようにするために、Gitを使用できます。Gitは、ファイルに対する変更のバージョンを保持します。

一部のプログラムはファイルのバックアップを作成します。ファイルを表示する場合は、Geditを開いてドキュメントに何かを書き込み、拡張子なしで保存します。 nautilusでCTRL + Hを押すと、作成したファイルへのバックアップを含む隠しファイルが表示されます。

ただし、バックアップを使用しても、バックアップバージョンが現在のバージョンと等しいかどうかはわかりません。

最善の策は、Gitのようなバージョン管理システムを使用することです。これは、ファイルへのすべての変更を記録し、以前のバージョンに戻すことができます。

Git here を学ぶことができます。

ファイルを永久に削除したいだけなら、 BleachBit を使用できます。

2
lapisdecor