Excluído .ecryptfs mas o sistema ainda está em execução - alguma esperança?

3

Acredito que eu deletei meus arquivos de frase secreta .ecryptfs (~ / .ecryptfs / está vazio), mas esse computador ainda está online com suas unidades montadas. No momento, estou tentando recuperar os arquivos perdidos com o r-linux e tentarei criar um backup dos meus arquivos importantes em uma unidade de rede, mas estou essencialmente imaginando:

Existe uma maneira de regenerar minha frase secreta .ecryptfs enquanto o computador ainda está em execução? Eu não tomei nota da frase-senha original, só tenho minha senha de login.

    
por Redyz 14.12.2015 / 05:14

1 resposta

2

Você ainda pode ter alguns arquivos .ecryptfs ainda abertos por algum processo, caso em que eles podem não ser realmente excluídos ainda. Se estiverem listados em lsof , talvez você ainda possa copiá-los / movê-los de volta. Especialmente, procure o arquivo wrapped-passphrase .

A melhor solução seria se você tivesse uma cópia de backup de toda a sua casa, incluindo o arquivo wrapped-passphrase . Se todos os arquivos foram apagados, eles podem já ter sido sobrescritos, e perder a chave de login, o arquivo de senha e a chave de montagem significaria que eles estão bloqueados para sempre também. Ter uma cópia da chave de montagem real seria útil se os arquivos ainda estivessem lá para leitura.

Ou, se a pasta eCryptfs ainda estiver montada, a chave pode estar no keyring do kernel ainda. Dê uma olhada com

$ keyctl show
Session Keyring
 802145592 --alswrv    999 65534  keyring: _uid_ses.999
 542975566 --alswrv    999 65534   \_ keyring: _uid.999
 414895587 --alswrv    999   999       \_ user: 1848e1d7b8a187fc
 245849561 --alswrv    999   999       \_ user: 554c7c95a5b5d6ee

E você pode ver 1 (sem fnek) ou 2 (com fnek) como os dois últimos acima. A parte "1848e1d7b8a187fc" deve corresponder à assinatura do mount ou fnek sig usada pelo eCryptfs. Você pode ler a (s) chave (s) com

  • keyctl read 414895587 - "read" imprime em stdout como um hex dump
  • keyctl print 414895587 - "print" copia para stdout diretamente se é totalmente imprimível ou como um hexdump precedido por ": hex:" se não for
  • keyctl pipe 414895587 > piped-keyfile - "pipe" transfere os dados brutos para stdout

(substitua os números pela primeira parte da linha relevante da keyctl show output acima)

Se você extraiu com pipe, mais tarde este comando deve adicionar a chave de volta ao chaveiro:

cat piped-keyfile | keyctl padd user keydescription @u

Para corresponder ao formato de ecryptfs-add-passphrase , acho que a alteração da descrição de chave de volta para a assinatura de 16 caracteres para corresponder à saída keyctl show original deve funcionar.

Um programa de exclusão de arquivos pode recuperar o arquivo excluído recentemente, se ainda não tiver sido sobrescrito. Os programas variam de acordo com o sistema de arquivos no qual você deseja recuperar os arquivos ou tenta testdisk (em Upuntu repos do universo ) tem excelente sorte recuperando arquivos deletados de todos os tipos de sistemas de arquivos. É programa irmão photorec poderia pesquisar todo o espaço livre da unidade e tentar recuperar arquivos também, embora eu não saiba se "ecryptfs wrapped-passphrase" é um tipo de arquivo que ele conhece.

    
por Xen2050 14.12.2015 / 18:51