A maneira mais simples de proteger com senha um diretório e seu conteúdo sem ter que criar novos arquivos?

17

Gostaria de proteger por senha ou criptografar um diretório e todos os arquivos dentro dele (para toda a árvore de diretórios abaixo dele). Eu não quero incomodar o diretório home inteiro, eu quero um diretório específico com alguns arquivos e pastas nele. Gostaria de poder criptografar o diretório ou descriptografá-lo usando uma senha. Linha de comando seria melhor de usar. Eu não quero ter que criar um novo arquivo como uma versão criptografada e, em seguida, exclua os anteriores, que são a versão não criptografada.

    
por Vass 08.01.2012 / 13:17

2 respostas

17

Use o encfs (disponível como um pacote na maioria das distribuições). Para configurar:

mkdir ~/.encrypted ~/encrypted
encfs ~/.encrypted ~/encrypted
# enter a passphrase
mv existing-directory ~/encrypted

A chamada inicial para encfs configura um sistema de arquivos criptografado. Após esse ponto, todos os arquivos gravados em ~/encrypted não são armazenados diretamente no disco, são criptografados e os dados criptografados são armazenados em ~/.encrypted . O comando encfs deixa um daemon em execução e esse daemon manipula a criptografia (e a descriptografia quando você lê um arquivo em ~/encrypted ).

Em outras palavras, para arquivos em ~/encrypted , ações como leituras e gravações não se traduzem diretamente em leitura ou gravação do disco. Eles são executados pelo processo encfs , que criptografa e descriptografa os dados e usa o diretório ~/.encrypted para armazenar o texto cifrado.

Quando terminar de trabalhar com seus arquivos por enquanto, desmonte o sistema de arquivos para que os dados não possam ser acessados até que você digite sua senha novamente:

fusermount -u ~/encrypted

Após esse ponto, ~/encrypted será novamente um diretório vazio.

Quando mais tarde você quiser trabalhar nesses arquivos novamente, monte o sistema de arquivos criptografado:

encfs ~/.encrypted ~/encrypted
# enter your passphrase

Isso, novamente, torna os arquivos criptografados em ~/.encrypted acessíveis sob o diretório ~/encrypted .

Você pode alterar o ponto de montagem ~/encrypted da forma que desejar: encfs ~/.encrypted /somewhere/else (mas monte o diretório criptografado apenas uma vez por vez). Você pode copiar ou mover o texto cifrado (mas não enquanto está montado) para um local diferente ou até mesmo para uma máquina diferente; tudo o que você precisa fazer para trabalhar nos arquivos é passar a localização do texto cifrado como o primeiro argumento para encfs e a localização de um diretório vazio como segundo argumento.

    
por 08.01.2012 / 17:32
2

I don't want to have to create a new file as an encrypted version and then, delete the previous ones which are the non-encrypted version

Mas esse é exatamente o cenário que você descreveu .... "ser capaz de criptografar o diretório ou descriptografá-lo"

Eu suspeito que a solução que você está procurando é um FUSE criptografado ou semelhante . O sistema de arquivos é armazenado em um arquivo criptografado e, quando montado (com uma frase secreta), há acesso transparente por meio da camada VFS.

    
por 08.01.2012 / 13:53