web-dev-qa-db-fra.com

Pouvez-vous récupérer les versions précédentes des fichiers?

Je sais que si je supprime un fichier, il ne sera pas réellement "supprimé" en tant que tel, mais simplement marqué "peut être remplacé si nécessaire" afin que, lorsque cet espace est nécessaire, le fichier soit simplement remplacé, ce qui signifie qu'après le fichier est supprimé, il est possible de le récupérer même si tous les liens le supprimant disparaîtront (si l’une de ces informations est incorrecte, modifiez cette question pour l’expliquer correctement).
Mais est-ce la même chose pour les fichiers qui viennent d'être édités? Peut-on récupérer la version précédente d'un fichier si la version précédente n'a pas été transformée en un fichier .save ou quelque chose de ce genre? Autrement dit, si je modifie un fichier puis enregistre mes modifications, existe-t-il un moyen de récupérer la version précédente du fichier comme on peut le faire avec des fichiers supprimés? Et si non, si on ne veut pas que quiconque puisse récupérer correctement les fichiers supprimés, faut-il d'abord éditer le fichier et remplacer le contenu par quelque chose d'autre?

Donc, juste pour clarifier , voici les points sur lesquels je veux une réponse:

  • Est-il possible de récupérer les versions précédentes des fichiers si aucun fichier de sauvegarde n'a été créé (tel qu'un fichier .save] comme on peut le faire avec des fichiers réellement supprimés?

  • Éditer un fichier avant de le supprimer est-il plus sûr que de le supprimer (c'est-à-dire qu'il est plus sûr de remplacer tout le contenu d'un fichier par un autre contenu avant de le supprimer)?

  • Enfin, les outils qui "déchiquettent" des fichiers tels que BleachBit écrasent-ils simplement le contenu d'un fichier avec d'autres contenus (tels qu'une version chiffrée du fichier où la clé privée est supprimée) avant de le supprimer ou utilisent-ils une autre méthode?

Mais veuillez noter que je ne demande pas comment enregistrer les modifications de fichier, je pose cette question car je souhaite savoir si je modifie un fichier avant de le supprimer. est plus sûr que de simplement le supprimer ou de savoir si les versions précédentes peuvent être récupérées. Je ne suis pas intéressé par les réponses me disant que je devrais utiliser des systèmes de contrôle de version pour surveiller les modifications de fichiers.

6
user364819

Oui, il est possible de récupérer un fichier écrasé, mais la récupération dépend du système de fichiers et de l'application que vous utilisez. FAT, EXT2/3/4, NTFS suppriment tous les fichiers en marquant ​​les supprimant. (aucune expérience avec d'autres systèmes de fichiers)

De nos jours, toutes les applications bien écrites font normalement normalement pour ouvrir un fichier temporaire. Si celui-ci est écrit correctement, supprimez l'ancien fichier et renommez le fichier temporaire en nouveau. De cette façon, un programme se bloque pendant l’écriture du nouveau fichier, il ne détruit pas l’ancien fichier. (E.G. C'est comme ça que LibreOffice écrase ses fichiers)

Les applications d’effacement sécurisé écrasent normalement le fichier, mais sous EXT4 et NTFS, l’intelligence de défragmentation et la journalisation entrent en jeu de manière à être absolument, absolument positives qu’un fichier écrasé a complètement disparu, vous devez écraser le tout ​​espace libre aussi.

(Même sur un volume chiffré)

2
Fabby

Si je comprends ce que vous demandez, la réponse est non. Si vous modifiez un fichier, les données de ce fichier sont écrasées à l'endroit où elles se trouvent. Ce n'est pas comme si vous supprimiez un fichier, ce qui indique au système qu'il peut écraser ces données et que de nouvelles données peuvent prendre sa position sur le disque dur. Les données sont écrasées et la version précédente ne peut plus être récupérée car (je parais répétitive maintenant), elle était déjà écrasée. Pour inclure un point dans les commentaires, il est important de noter que si vous modifiez le contenu d'un fichier et que le fichier résultant est plus petit que l'original, certaines des données peuvent toujours être récupérées. En tant que tel, il serait probablement plus sûr d'ouvrir le fichier dans un éditeur de texte (quel que soit le type de fichier), d'effacer tout le contenu tel qu'il est, puis de rester assis sur une clé pendant une heure, en envoyant un spam à un fichier. caractère unique. Ensuite, vous pouvez créer un fichier de très grande taille avec un seul caractère, encore et encore. Bien sûr, la mémoire flash et la mémoire flash fonctionnent un peu différemment, et il semble que le pari le plus sûr est de toujours utiliser le cryptage sur ces types de stockage.

Si je suis sur le point de comprendre ce que vous demandez, la réponse est oui. Il est plus sûr d’éditer un fichier et de remplacer son contenu actuel par une mémoire aléatoire, de l’enregistrer, puis de le supprimer. Ensuite, si des outils de récupération de fichiers sont utilisés, le fichier récupéré sera rempli de déchets aléatoires. C'est essentiellement ce que fait le lambeau. Il "enregistre" les zéros dans les positions où se trouvaient auparavant les fichiers. Ainsi, si les outils de récupération de fichiers sont utilisés, ils récupèrent les données mises à zéro.

4
user323419

Jeter mon chapeau dans le ring aussi. =)

Pour les destructions de données qui ne sont pas récupérables avant la suppression du fichier, que le fichier soit crypté ou non, j'utilise une application appelée scrub.

Sudo apt-get install scrub

Ensuite, détruire le fichier avant de le supprimer serait la commande suivante:

scrub <filename>

Voici un exemple de fichier crypté en cours de destruction:

~$ 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!--------------------

Donc, maintenant si je supprime le testfile.des3 tout ce qui peut être récupéré est un fichier qui dit SCRUBBED!--------------------

3
Terrance

Pour pouvoir récupérer une version précédente d'un fichier, vous pouvez utiliser Git, qui conserve les versions des modifications apportées aux fichiers.

Certains programmes font des sauvegardes de vos fichiers. Si vous voulez en voir un, ouvrez simplement Gedit, écrivez quelque chose sur un document et enregistrez-le sans extension. Si vous appuyez sur CTRL + H sur Nautilus, vous verrez les fichiers cachés, y compris une sauvegarde du fichier que vous venez de créer.

Mais même avec la sauvegarde, vous ne savez pas si la version de la sauvegarde est égale ou non à la version actuelle.

Votre meilleur choix consiste à utiliser un système de contrôle de version tel que Git, qui enregistre toutes les modifications apportées au fichier et vous permet de revenir à la version précédente.

Vous pouvez apprendre git ici .

Si vous voulez juste supprimer un fichier de façon permanente, vous pouvez utiliser BleachBit

2
lapisdecor