¿"Secure Empty Trash" elimina de forma segura los archivos de versión ocultos de los documentos en la Papelera en OS X Lion?

12

La nueva función de Versiones en Lion crea archivos ocultos que almacenan versiones antiguas del documento en el que está trabajando en caso de que desee volver a una versión anterior del documento. Si arrastro un documento a la Papelera, luego selecciono la Papelera Vacía Segura del menú del Finder, ¿los archivos de la versión oculta se eliminan de forma segura junto con el documento?

    
pregunta Phil M 27.07.2011 - 22:54

2 respuestas

8

Mi suposición es no, pero esta no es una respuesta definitiva.

Primero creé un archivo .txt muy grande (~ 160 MB), e hice cambios al archivo en TextEdit. Como era de esperar, el archivo y sus versiones se mostraron en /.DocumentRevisions-V100/PerUID . Los archivos parecían ser de ~ 160 MB a ls , pero según du -h usaron 0B en el disco. El recuento de enlaces duros para cada archivo fue 1. Una carpeta llamada .cs (almacenamiento de trozos) bajo /.DocumentRevisions-V100 había aumentado en aproximadamente 110 MB.

Cada vez que cambiaba el archivo, ocurría lo siguiente en /.DocumentRevisions-V100 :

  1. Se creó un archivo de ~ 160 MB en /.DocumentRevisions-V100/staging/ . El recuento de enlaces duros para este archivo es 1.
  2. El archivo pareció moverse a /.DocumentRevisions-V100/PerUID/<UID>/<#>/com.apple.documentVersions . El recuento de enlace duro se mantuvo en 1.
  3. Ese archivo de ~ 160 MB se convirtió en 0B, y el tamaño de /.DocumentRevisions-V100/.cs creció en aproximadamente 2 MB.

El espacio libre de la unidad ( df ) fue consistente con lo que du me dijo. El espacio libre se reduciría significativamente y luego volvería a ser casi lo que era antes de guardar una nueva versión.

A continuación, intenté destruir el archivo con Secure Empty Trash. OS X parece utilizar un programa llamado Locum para eliminar el archivo de forma segura. Adjuntar fs_usage a Locum muestra una gran cantidad de lecturas y escrituras en el archivo .txt original. Mientras que Locum está haciendo lo suyo, todavía se puede acceder a todas las versiones bajo /.DocumentRevisions-V100/PerUID con los datos intactos. Después de que Locum termine de escribir sobre los datos, desvincula el archivo .txt original y las versiones en /.DocumentRevisions-V100/PerUID desaparecen repentinamente. Locum luego pasa a cualquier otra cosa en la Papelera, sin tocar nunca a /.DocumentRevisions-V100 .

Lo que sea que esté en /.DocumentRevisions-V100 no se está borrando de forma segura.

EDITAR: Debo agregar que lo que sea es en /.DocumentRevisions-V100 está de alguna manera confuso o comprimido (la carpeta tenía solo ~ 120 MB). Todavía no he leído las versiones o las secciones del sistema de archivos de la revisión de Siracusa ... quizás haya pistas ahí.

    
respondido por el FrostedMint 06.08.2011 - 03:47
7

Acabo de probar esto y parece que los archivos más antiguos se eliminan. No importó si elegí Secure Empty Trash o simplemente vacié la basura normalmente, también se eliminaron.

Un poco más de detalle:

Para probar esto, habilité al usuario root para que me permitiera mirar en /.DocumentRevisions-V100 y los archivos que contiene. La estructura exacta de esta carpeta y su contenido se explican mejor en John Siracusa's Lion review (Internos, Revisiones de documentos).

Creé un par de archivos, luego hice algunos cambios, guardando nuevas versiones. La carpeta que contenía las revisiones se llenó con nuevos archivos a medida que guardaba las nuevas versiones. Dentro de esta carpeta de nivel superior, hay una carpeta llamada PerUID , que alberga subcarpetas para cada cuenta de usuario. Cada carpeta de cuenta de usuario contiene una serie de carpetas numeradas, una carpeta para cada archivo que tiene revisiones guardadas. Por lo tanto, las revisiones reales se guardan como archivos a unos pocos niveles en esta jerarquía, con nombres de archivos hash. Vaciar la papelera (de cualquier manera) eliminaría estos archivos, pero la estructura de carpetas anterior permanecería en su lugar.

Antes de borrar: %código% Esta carpeta todavía tiene las versiones anteriores contenidas.

Después de eliminar: %código% Esta carpeta todavía existe, pero está vacía.

No inspeccioné las otras carpetas dentro de /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions , por lo que no revisé las bases de datos que están contenidas en ellas. Siracusa entra en más detalles, pero parece que existen bases de datos para rastrear los cambios y asignar los archivos del usuario a las revisiones guardadas por el sistema. Estoy bastante seguro de que allí no se guarda ningún contenido del documento, aunque no estoy seguro de los nombres de los archivos, y si los nombres de los archivos están presentes, estén hasheados o no.

    
respondido por el Gauzy 28.07.2011 - 00:08

Lea otras preguntas en las etiquetas