«Secure Empty Trash» supprime-t-il en toute sécurité les fichiers de version masqués pour les documents dans la corbeille dans OS X Lion?

12

La nouvelle fonctionnalité Versions de Lion crée des fichiers cachés qui stockent les anciennes versions du document sur lequel vous travaillez au cas où vous souhaiteriez revenir à une ancienne version du document. Si je fais glisser un document vers la corbeille, puis sélectionnez Secure Vider Trash dans le menu Finder, les fichiers de version masqués sont-ils supprimés en toute sécurité avec le document?

Phil M
la source
et que diriez-vous des copies dans le nouveau cache de la machine de temps local?
Thilo
@thilo - peu probable - pourquoi ne pas poser cette question car c'est sa propre question?
bmike

Réponses:

7

Je suppose que non, mais ce n'est pas une réponse définitive.

J'ai d'abord créé un très gros fichier (~ 160 Mo) .txt et apporté des modifications au fichier dans TextEdit. Comme prévu, ce fichier et ses versions sont apparus dans /.DocumentRevisions-V100/PerUID. Les fichiers semblaient faire ~ 160 Mo ls, mais selon du -heux, ils utilisaient 0B sur le disque. Le nombre de liens durs pour chaque fichier était de 1. Un dossier appelé .cs(stockage de blocs) sous /.DocumentRevisions-V100avait augmenté d'environ 110 Mo.

Chaque fois que je modifiais le fichier, les événements suivants se produisaient dans /.DocumentRevisions-V100:

  1. Un fichier de ~ 160 Mo a été créé en /.DocumentRevisions-V100/staging/. Le nombre de liens matériels pour ce fichier est 1.
  2. Ce fichier a semblé se déplacer vers /.DocumentRevisions-V100/PerUID/<UID>/<#>/com.apple.documentVersions. Le nombre de liens fixes est resté 1.
  3. Ce fichier de ~ 160 Mo est devenu 0B, et la taille de a /.DocumentRevisions-V100/.csaugmenté d'environ 2 Mo.

L'espace libre du lecteur ( df) était conforme à ce qui dum'a été dit. L'espace libre diminuerait considérablement, puis reviendrait à ce qu'il était avant d'enregistrer une nouvelle version.

Ensuite, j'ai essayé de déchiqueter le fichier avec Secure Empty Trash. OS X semble utiliser un programme appelé Locumpour supprimer le fichier en toute sécurité. La pièce jointe fs_usageà Locumaffiche énormément de lectures et d'écritures dans le fichier .txt d'origine. Pendant qu'il Locumfait son travail, toutes les versions sous /.DocumentRevisions-V100/PerUIDsont toujours accessibles avec des données intactes. Après avoir Locumterminé l'écriture sur les données, il dissocie le fichier .txt d'origine et les versions /.DocumentRevisions-V100/PerUIDdisparaissent soudainement. Locumpasse ensuite à autre chose dans la Corbeille, sans jamais toucher /.DocumentRevisions-V100.

Tout ce qui se trouve /.DocumentRevisions-V100n'est pas effacé en toute sécurité.

EDIT: Je dois ajouter que tout ce qui est en /.DocumentRevisions-V100est en quelque sorte (le dossier était seulement ~ 120 Mo) ou obscurcie comprimé. Je n'ai pas encore lu les versions ou les sections du système de fichiers de la revue de Siracusa… il y a peut-être des indices là-dedans.

FrostedMint
la source
7

Je viens de tester cela et il semble que les anciens fichiers soient effectivement supprimés. Peu importe que je choisisse Secure Empty Trash ou que je vide simplement la corbeille normalement, ils ont également été supprimés.

Un peu plus en détail:

Pour tester cela, j'ai permis à l'utilisateur root de me permettre de regarder /.DocumentRevisions-V100et les fichiers qu'il contient. La structure exacte de ce dossier et son contenu sont mieux expliqués dans la revue Lion de John Siracusa (Internals, Document Revisions).

J'ai créé quelques fichiers, puis j'ai apporté des modifications et enregistré de nouvelles versions. Le dossier qui contenait les révisions rempli de nouveaux fichiers lors de l'enregistrement de nouvelles versions. Dans ce dossier de niveau supérieur, il y a un dossier appelé PerUID, qui contient des sous-dossiers pour chaque compte d'utilisateur. Chaque dossier de compte d'utilisateur contient une série de dossiers numérotés, un dossier pour chaque fichier dont les révisions ont été enregistrées. Ainsi, les révisions réelles sont enregistrées sous forme de fichiers à quelques niveaux plus bas dans cette hiérarchie, avec des noms de fichiers hachés. Vider la corbeille (dans les deux cas) supprimerait ces fichiers, mais la structure de dossiers précédente resterait en place.

Avant de supprimer: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions ce dossier contient toujours les versions précédentes.

Après la suppression: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions ce dossier existe toujours, mais il est vide.

Je n'ai pas inspecté les autres dossiers à l'intérieur /.DocumentRevisions-V100/, donc je n'ai pas vérifié les bases de données qui y sont contenues. Siracusa va plus en détail, mais ils semblent exister pour contenir des bases de données pour suivre les modifications et mapper les fichiers de l'utilisateur aux révisions enregistrées par le système. Je suis assez certain qu'aucun contenu de document n'y est enregistré, bien que je ne sois pas sûr des noms de fichiers, et si des noms de fichiers sont présents, s'ils sont hachés ou non.

Gaze
la source
2
C'est un bon progrès, mais je pense que cela prouve seulement que les fichiers ont été supprimés, pas nécessairement supprimés en toute sécurité. Pour prouver la suppression sécurisée, je pense que vous auriez besoin de faire référence à la documentation Apple Developer ou d'exécuter un logiciel de récupération de fichiers et de voir ce qui est récupérable.
Phil M
ah, désolé, je vous ai mal compris. devrait être une expérience assez simple pour que quelqu'un puisse reproduire et exécuter une application de récupération. je ne suis pas sur ADC, donc je ne suis pas très utile là-bas.
Gauzy
iostat et un mac par ailleurs "toujours" devraient permettre de voir facilement la bande passante d'écriture.
bmike