Löscht "Secure Empty Trash" die versteckten Versionsdateien für Dokumente im Papierkorb in OS X Lion sicher?

12

Die neue Version-Funktion in Lion erstellt versteckte Dateien, in denen alte Versionen des Dokuments gespeichert werden, an dem Sie arbeiten, falls Sie zu einer älteren Version des Dokuments zurückkehren möchten. Wenn ich ein Dokument in den Papierkorb ziehe, wählen Sie im Finder-Menü die Option "Leeren Papierkorb sichern". Werden die versteckten Versionsdateien zusammen mit dem Dokument sicher gelöscht?

Phil M
quelle
und wie wäre es mit den Kopien im neuen Cache der lokalen Zeitmaschine?
Thilo
@thilo - wahrscheinlich überhaupt nicht - warum fragst du das nicht als eigene Frage?
bmike

Antworten:

7

Meine Vermutung ist nein, aber dies ist keine endgültige Antwort.

Ich habe zuerst eine sehr große (~ 160 MB) .txt-Datei erstellt und Änderungen an der Datei in TextEdit vorgenommen. Wie erwartet wurden diese Datei und ihre Versionen in angezeigt /.DocumentRevisions-V100/PerUID. Die Dateien schienen ~ 160 MB groß lszu sein du -h, benutzten aber laut Angaben 0B auf der Festplatte. Die Anzahl der festen Verknüpfungen für jede Datei betrug 1. Ein Ordner mit dem Namen .cs(Chunk-Speicher) /.DocumentRevisions-V100ist um ca. 110 MB angewachsen.

Jedes Mal, wenn ich die Datei änderte, passierte Folgendes in /.DocumentRevisions-V100:

  1. Eine ~ 160 MB große Datei wurde in erstellt /.DocumentRevisions-V100/staging/. Die Anzahl der festen Links für diese Datei beträgt 1.
  2. Diese Datei schien sich zu bewegen /.DocumentRevisions-V100/PerUID/<UID>/<#>/com.apple.documentVersions. Die Anzahl der festen Verbindungen blieb 1.
  3. Diese ~ 160 MB-Datei wurde 0B, und die Größe /.DocumentRevisions-V100/.cswuchs um etwa 2 MB.

Der freie Speicherplatz des Laufwerks ( df) stimmte mit den Angaben überein du. Der freie Speicherplatz würde erheblich sinken und dann auf fast den Stand vor dem Speichern einer neuen Version zurückkehren.

Als nächstes habe ich versucht, die Datei mit Secure Empty Trash zu zerkleinern. OS X scheint ein Programm zu verwenden, das aufgerufen wird Locum, um die Datei sicher zu löschen. Das Anhängen fs_usagean Locumzeigt sehr viele Lese- und Schreibvorgänge in der ursprünglichen TXT-Datei. Währenddessen Locumkann auf alle Versionen unter /.DocumentRevisions-V100/PerUIDnoch mit intakten Daten zugegriffen werden. Nachdem Locumdie Daten überschrieben wurden, wird die Verknüpfung der ursprünglichen TXT-Datei aufgehoben und die Versionen in /.DocumentRevisions-V100/PerUIDverschwinden plötzlich. LocumGeht dann zu etwas anderem im Papierkorb über, ohne es zu berühren /.DocumentRevisions-V100.

Was auch immer in /.DocumentRevisions-V100ist, wird nicht sicher gelöscht.

BEARBEITEN: Ich sollte hinzufügen, dass alles, was sich darin /.DocumentRevisions-V100befindet, irgendwie verschleiert oder komprimiert ist (der Ordner hatte nur ~ 120 MB). Ich habe die Versionen oder Dateisystemabschnitte von Siracusas Rezension noch nicht gelesen. Vielleicht gibt es dort Hinweise.

FrostedMint
quelle
7

Ich habe das gerade ausprobiert und es scheint, dass die älteren Dateien tatsächlich gelöscht werden. Es war egal, ob ich "Sicherer leerer Papierkorb" gewählt oder den Papierkorb normal geleert habe, sie wurden auch gelöscht.

Ein bisschen mehr Detail:

Um dies zu testen, ermöglichte ich dem Root-Benutzer, einen Blick auf /.DocumentRevisions-V100die darin enthaltenen Dateien zu werfen. Die genaue Struktur dieses Ordners und sein Inhalt werden in John Siracusas Lion Review (Internals, Document Revisions) genauer erläutert .

Ich habe ein paar Dateien erstellt, dann einige Änderungen vorgenommen und neue Versionen gespeichert. Der Ordner mit den Revisionen, die beim Speichern neuer Versionen mit neuen Dateien gefüllt wurden. In diesem Ordner der obersten Ebene befindet sich ein Ordner mit dem Namen PerUID, der Unterordner für jedes Benutzerkonto enthält. Jeder Benutzerkontoordner enthält eine Reihe von nummerierten Ordnern, einen Ordner für jede Datei, in der Revisionen gespeichert sind. Auf diese Weise werden die aktuellen Revisionen als Dateien mit gehashten Dateinamen einige Ebenen tiefer in dieser Hierarchie gespeichert. Wenn Sie den Papierkorb leeren (in beide Richtungen), werden diese Dateien gelöscht, die vorherige Ordnerstruktur bleibt jedoch erhalten.

Vor dem Löschen: In /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions diesem Ordner sind noch die Vorgängerversionen enthalten.

Nach dem Löschen: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions Dieser Ordner ist noch vorhanden, aber leer.

Ich habe die anderen darin enthaltenen Ordner /.DocumentRevisions-V100/nicht überprüft, daher habe ich die darin enthaltenen Datenbanken nicht überprüft. Siracusa geht näher auf die Details ein, es scheint jedoch Datenbanken zu geben, die Änderungen nachverfolgen und die Dateien des Benutzers den vom System gespeicherten Revisionen zuordnen. Ich bin mir ziemlich sicher, dass dort keine Dokumentinhalte gespeichert werden, obwohl ich nicht sicher bin, ob Dateinamen vorhanden sind, ob sie gehasht wurden oder nicht.

Gauzy
quelle
2
Dies ist ein guter Fortschritt, aber ich denke, dies beweist nur, dass die Dateien gelöscht wurden, nicht unbedingt sicher. Um sicheres Löschen zu beweisen, müssten Sie entweder auf die Entwicklerdokumentation von Apple verweisen oder eine Dateiwiederherstellungssoftware ausführen, um festzustellen, was wiederherstellbar ist.
Phil M
Ah, tut mir leid, ich habe dich missverstanden. sollte ein ziemlich einfaches Experiment sein, mit dem jemand eine Wiederherstellungs-App reproduzieren und ausführen kann. Ich bin nicht auf ADC, also bin ich dort nicht von großem Nutzen.
Gauzy
iostat und ein ansonsten "stillstehender" Mac sollten es einfach machen, die Schreibbandbreite zu erkennen.
bmike