Apakah "Secure Empty Trash" dengan aman menghapus file versi tersembunyi untuk dokumen di Trash in OS X Lion?

12

Fitur Versi baru di Lion membuat file tersembunyi yang menyimpan versi lama dokumen yang sedang Anda kerjakan jika Anda ingin kembali ke versi dokumen yang lebih lama. Jika saya menyeret dokumen ke Trash, lalu pilih Secure Empty Trash dari menu Finder, apakah file versi tersembunyi dihapus dengan aman bersama dengan dokumen?

Phil M
sumber
dan bagaimana dengan salinan di cache mesin waktu lokal yang baru?
Thilo
@ Thilo - tidak mungkin sama sekali - mengapa tidak bertanya seperti itu pertanyaannya sendiri?
bmike

Jawaban:

7

Dugaan saya adalah tidak, tetapi ini bukan jawaban yang pasti.

Saya pertama kali membuat file .txt yang sangat besar (~ 160 MB), dan membuat perubahan pada file di TextEdit. Seperti yang diharapkan, file dan versinya muncul di /.DocumentRevisions-V100/PerUID. File tampaknya ~ 160 MB ls, tetapi menurut du -hmereka menggunakan 0B pada disk. Jumlah tautan keras untuk setiap file adalah 1. Folder bernama .cs(chunk storage) di bawahnya /.DocumentRevisions-V100telah bertambah sekitar 110 MB.

Setiap kali saya mengubah file, hal berikut terjadi pada /.DocumentRevisions-V100:

  1. File ~ 160 MB telah dibuat di /.DocumentRevisions-V100/staging/. Hitungan tautan keras untuk file ini adalah 1.
  2. File itu tampaknya pindah ke /.DocumentRevisions-V100/PerUID/<UID>/<#>/com.apple.documentVersions. Hitungan tautan keras tetap 1.
  3. File ~ 160 MB itu menjadi 0B, dan ukurannya /.DocumentRevisions-V100/.csbertambah sekitar 2 MB.

Ruang kosong drive ( df) konsisten dengan apa yang dusaya katakan. Ruang kosong akan turun secara signifikan, dan kemudian kembali ke hampir seperti sebelum menyimpan versi baru.

Selanjutnya, saya mencoba merobek file dengan Secure Empty Trash. OS X tampaknya menggunakan program yang dipanggil Locumuntuk menghapus file dengan aman. Melampirkan fs_usageuntuk Locummenunjukkan banyak sekali membaca dan menulis ke file .txt asli. Saat Locummelakukan hal tersebut, semua versi di bawah /.DocumentRevisions-V100/PerUIDmasih dapat diakses dengan data yang utuh. Setelah Locumselesai menulis data, itu memutuskan tautan file .txt asli, dan versi di /.DocumentRevisions-V100/PerUIDtiba-tiba menghilang. Locumlalu beralih ke hal lain di Sampah, sambil tidak pernah menyentuh /.DocumentRevisions-V100.

Apa pun yang ada di /.DocumentRevisions-V100dalamnya tidak terhapus dengan aman.

EDIT: Saya harus menambahkan bahwa apa pun yang ada dalam /.DocumentRevisions-V100entah bagaimana dikaburkan atau dikompresi (folder itu hanya ~ 120 MB). Saya belum membaca bagian versi atau sistem berkas dari ulasan Siracusa ... mungkin ada petunjuk di sana.

FrostedMint
sumber
7

Saya baru saja menguji ini, dan tampaknya file yang lebih lama memang bisa dihapus. Tidak masalah jika saya memilih Secure Empty Trash atau hanya mengosongkan tempat sampah secara normal, mereka juga dihapus.

Sedikit lebih detail:

Untuk menguji ini, saya mengaktifkan pengguna root untuk memungkinkan saya mengintip ke dalam /.DocumentRevisions-V100dan file-file di dalamnya. Struktur persis folder ini dan isinya lebih baik dijelaskan dalam ulasan Lion John Siracusa (Internal, Revisi Dokumen).

Saya membuat beberapa file, kemudian membuat beberapa perubahan, menyimpan versi baru. Folder yang berisi revisi diisi dengan file baru saat saya menyimpan versi baru. Di dalam folder tingkat atas ini, ada folder bernama PerUID, yang menampung subfolder untuk setiap akun pengguna. Setiap folder akun pengguna berisi serangkaian folder bernomor, satu folder untuk setiap file yang revisi disimpan. Dengan demikian, revisi yang sebenarnya disimpan sebagai file beberapa tingkat di bawah dalam hierarki ini, dengan nama file hash. Mengosongkan tempat sampah (bagaimanapun juga) akan menghapus file-file ini, tetapi struktur folder sebelumnya akan tetap di tempatnya.

Sebelum menghapus: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions Folder ini masih memiliki versi sebelumnya yang ada di dalamnya.

Setelah menghapus: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions Folder ini masih ada, tetapi kosong.

Saya tidak memeriksa folder lain di dalamnya /.DocumentRevisions-V100/, jadi saya tidak memeriksa database yang ada di dalamnya. Siracusa menjelaskan lebih rinci, tetapi tampaknya ada yang berisi basis data untuk melacak perubahan dan memetakan file pengguna ke revisi yang disimpan oleh sistem. Saya cukup yakin bahwa tidak ada konten dokumen yang disimpan di sana, meskipun saya tidak yakin tentang nama file, dan jika nama file ada, apakah mereka hash atau tidak.

Tipis
sumber
2
Ini adalah kemajuan yang bagus, tetapi saya pikir ini hanya membuktikan bahwa file telah dihapus, belum tentu dihapus dengan aman. Untuk membuktikan penghapusan yang aman, saya pikir Anda perlu merujuk dokumentasi Pengembang Apple atau menjalankan perangkat lunak pemulihan file dan melihat apa yang dapat dipulihkan.
Phil M
ah, maaf, saya salah paham. harus menjadi eksperimen yang cukup sederhana bagi seseorang untuk mereproduksi dan menjalankan aplikasi pemulihan. Saya tidak menggunakan ADC, jadi saya tidak banyak berguna di sana.
Gauzy
iostat dan mac "masih" seharusnya membuatnya mudah untuk melihat bandwidth tulis.
bmike