O "Secure Empty Trash" exclui com segurança os arquivos da versão oculta dos documentos na Lixeira no OS X Lion?

12

O novo recurso Versões no Lion cria arquivos ocultos que armazenam versões antigas do documento em que você está trabalhando, caso deseje reverter para uma versão mais antiga do documento. Se eu arrastar um documento para a Lixeira, selecione Secure Empty Trash no menu Finder, os arquivos da versão oculta serão excluídos com segurança junto com o documento?

Phil M
fonte
e as cópias no novo cache da máquina de horário local?
Thilo 29/07
@ thilo - não é provável - por que não perguntar isso como é a sua própria pergunta?
bmike

Respostas:

7

Meu palpite é que não, mas essa não é uma resposta definitiva.

Primeiro criei um arquivo .txt muito grande (~ 160 MB) e fiz alterações no arquivo no TextEdit. Como esperado, esse arquivo e suas versões apareceram em /.DocumentRevisions-V100/PerUID. Os arquivos pareciam ter ~ 160 MB ls, mas, de acordo com o du -hdisco 0B, eram usados. A contagem de links físicos para cada arquivo era 1. Uma pasta chamada .cs(armazenamento em partes) abaixo /.DocumentRevisions-V100cresceu cerca de 110 MB.

Toda vez que eu alterava o arquivo, acontecia o seguinte /.DocumentRevisions-V100:

  1. Um arquivo de ~ 160 MB foi criado em /.DocumentRevisions-V100/staging/. A contagem de links físicos para este arquivo é 1.
  2. Esse arquivo pareceu mudar para /.DocumentRevisions-V100/PerUID/<UID>/<#>/com.apple.documentVersions. A contagem de links físicos permaneceu 1.
  3. Esse arquivo de ~ 160 MB tornou-se 0B e o tamanho de /.DocumentRevisions-V100/.cscresceu cerca de 2 MB.

O espaço livre da unidade ( df) era consistente com o que dume dizia. O espaço livre diminuiria significativamente e retornaria quase ao que era antes de salvar uma nova versão.

Em seguida, tentei destruir o arquivo com o Secure Empty Trash. O OS X parece usar um programa chamado Locumpara excluir com segurança o arquivo. Anexar fs_usagea Locummostra uma enorme quantidade de leituras e gravações no arquivo .txt original. Enquanto Locumfaz isso, todas as versões abaixo /.DocumentRevisions-V100/PerUIDainda podem ser acessadas com os dados intactos. Após a Locumgravação dos dados, ele desassocia o arquivo .txt original e as versões /.DocumentRevisions-V100/PerUIDdesaparecem repentinamente. Locumdepois passa para qualquer outra coisa no Lixo, sem nunca tocar /.DocumentRevisions-V100.

O que quer que esteja dentro /.DocumentRevisions-V100não está sendo apagado com segurança.

Edição: Devo acrescentar que tudo o que está dentro /.DocumentRevisions-V100é de alguma forma ofuscado ou compactado (a pasta era apenas ~ 120 MB). Ainda não li as versões ou as seções do sistema de arquivos da revisão da Siracusa ... talvez haja pistas lá.

FrostedMint
fonte
7

Acabei de testar isso e parece que os arquivos mais antigos são realmente excluídos. Não importava se eu escolhi Secure Empty Trash ou simplesmente esvaziei o lixo normalmente, eles também foram excluídos.

Um pouco mais detalhadamente:

Para testar isso, habilitei o usuário root para permitir que eu espiasse /.DocumentRevisions-V100os arquivos. A estrutura exata desta pasta e seu conteúdo são melhor explicados na revisão do leão de John Siracusa (Internals, Document Revisions).

Criei alguns arquivos e fiz algumas alterações, salvando novas versões. A pasta que continha as revisões preenchida com novos arquivos quando eu salvei novas versões. Dentro desta pasta de nível superior, há uma pasta chamada PerUIDque abriga subpastas para cada conta de usuário. Cada pasta da conta de usuário contém uma série de pastas numeradas, uma pasta para cada arquivo que possui revisões salvas. Assim, as revisões reais são salvas como arquivos alguns níveis abaixo nesta hierarquia, com nomes de arquivos com hash. Esvaziar a lixeira (de qualquer maneira) excluiria esses arquivos, mas a estrutura de pastas anterior permaneceria no local.

Antes de excluir: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions Esta pasta ainda possui as versões anteriores.

Após excluir: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions Esta pasta ainda existe, mas está vazia.

Como não inspecionei as outras pastas /.DocumentRevisions-V100/, não verifiquei os bancos de dados contidos nelas. Siracusa entra em mais detalhes, mas eles parecem existir para conter bancos de dados para rastrear alterações e mapear os arquivos do usuário para as revisões salvas pelo sistema. Estou bastante certo de que nenhum conteúdo do documento é salvo lá, embora não tenha certeza sobre os nomes de arquivos e se os nomes de arquivos estão presentes, se eles estão em hash ou não.

Gauzy
fonte
2
Este é um bom progresso, mas acho que isso prova apenas que os arquivos foram excluídos, não necessariamente excluídos com segurança. Para provar a exclusão segura, acho que você precisaria fazer referência à documentação do desenvolvedor da Apple ou executar o software de recuperação de arquivos e ver o que é recuperável.
Phil M
ah, desculpe, eu te entendi mal. deve ser uma experiência bastante simples para alguém reproduzir e executar um aplicativo de recuperação. eu não estou no ADC, então não tenho muita utilidade lá.
Gauzy
O iostat e um mac "imóvel", caso contrário, devem facilitar a visualização da largura de banda de gravação.
bmike