Можете ли вы восстановить предыдущие версии файлов?
Я знаю, что если я удаляю файл, он на самом деле не будет "удален" как таковой, просто помеченный как "может быть переопределен при необходимости", так что, когда потребуется это пространство, файл будет просто переопределен, и это означает, что после файл удален, его можно восстановить, даже если все ссылки на него будут удалены (если какая-либо из этих сведений неверна, отредактируйте этот вопрос, чтобы объяснить его правильно).
Но верно ли это для файлов, которые были только что отредактированы? Можно ли восстановить предыдущую версию файла, если предыдущая версия не была преобразована в .save
файл или что-то? То есть, если я отредактирую файл, а затем сохраню свои изменения, есть ли способ восстановить предыдущую версию файла, как это можно сделать с удаленными файлами? И если нет, если кто-то не хочет, чтобы кто-либо мог правильно восстановить удаленные файлы, следует ли сначала отредактировать файл и заменить содержимое чем-то другим?
Так что, чтобы уточнить, вот те вопросы, на которые я хочу ответить:
Можно ли восстановить предыдущие версии файлов, если файл резервной копии не был создан (например,
.save
файл) как можно сделать с фактически удаленными файлами?Безопаснее ли редактировать файл перед его удалением, чем просто удалить его (т. Е. Безопаснее ли перезаписать все содержимое файла другим содержимым перед его удалением)?
Наконец, инструменты, которые "уничтожают" файлы, такие как BleachBit, просто перезаписывают содержимое файла другим содержимым (например, зашифрованной версией файла, в котором удален закрытый ключ) перед его удалением, или они используют другой метод?
Но учтите, что я не спрашиваю о том, как регистрировать изменения файла, я задаю этот вопрос, потому что я хочу знать, безопаснее ли редактировать файл перед его удалением, чем просто удалить его или можно ли восстановить предыдущие версии. Меня не интересуют ответы, которые говорят мне, что я должен использовать системы контроля версий для отслеживания изменений файлов.
4 ответа
Да, можно восстановить перезаписанный файл, но восстановление зависит от файловой системы и приложения, которое вы используете. FAT, EXT2/3/4, NTFS все удаляют файлы, помечая их как удаленные. (нет опыта работы с другими файловыми системами)
В настоящее время все хорошо написанные приложения обычно открывают временный файл и, если он написан правильно, удаляют старый файл и переименовывают временный файл в новый файл. Так происходит сбой программы во время записи нового файла, он не уничтожает старый файл. (Например, вот так LibreOffice перезаписывает свои файлы)
Приложения для безопасного стирания обычно перезаписывают файл, но при использовании функции дефрагментации EXT4 и NTFS и журналирования, чтобы быть абсолютно уверенными в том, что перезаписанный файл полностью удален, вам также необходимо перезаписать все свободное пространство.
(Даже на зашифрованном томе)
Если я понимаю, что вы спрашиваете, ответ - нет. Если вы вносите изменения в файл, данные этого файла перезаписываются в том месте, где они находятся. Это не то же самое, что удаление файла, который сообщает системе, что он может перезаписать эти данные, а новые данные могут занять свою позицию на жестком диске. Данные перезаписываются, и предыдущая версия больше не может быть восстановлена, потому что (я сейчас звучу многократно) она уже была перезаписана. Чтобы включить замечание, сделанное в комментариях, важно отметить, что если вы редактируете содержимое файла, а полученный файл меньше исходного, тогда некоторые данные все равно можно будет восстановить. Поэтому было бы безопаснее открыть файл в текстовом редакторе (независимо от типа файла), очистить все содержимое как есть, а затем в течение часа сидеть на ключе, спамить файл один символ Затем вы можете создать файл очень большого размера с одним и тем же символом снова и снова. Конечно, твердотельная и флэш-память работают немного по-разному, и кажется, что самый безопасный вариант - всегда использовать шифрование в этих типах хранилищ.
Если я близок к пониманию того, что вы спрашиваете, ответ - да. Безопаснее отредактировать файл и заменить его текущее содержимое случайным мусором, сохранить его и затем удалить. Затем, если используются инструменты восстановления файлов, восстановленный файл будет заполнен случайным мусором. Это, по сути, то, что делает клочок. Он "сохраняет" нули в тех местах, где ранее были файлы, так что если используются инструменты восстановления файлов, они восстанавливают обнуленные данные.
Бросаю шляпу и на ринг. знак равно
Для уничтожения данных, которые невозможно восстановить до удаления файла, даже если файл зашифрован или нет, я использую приложение под названием 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!--------------------
Чтобы иметь возможность восстановить предыдущую версию файла, вы можете использовать Git, который хранит версии изменений в файлах.
Некоторые программы делают резервные копии ваших файлов, если вы хотите их увидеть, просто откройте Gedit, напишите что-нибудь в документ и сохраните его без расширения. Если вы нажмете CTRL + H на nautilus, вы увидите скрытые файлы, включая резервную копию только что созданного файла.
Но даже с резервной копией вы не знаете, равна ли версия резервной копии текущей версии или нет.
Лучше всего использовать систему контроля версий, такую как Git, которая записывает все изменения в файле и позволяет вам вернуться к предыдущей версии.
Вы можете узнать Git здесь.
Если вы просто хотите удалить файл навсегда, вы можете использовать BleachBit