Como usar o ecryptfs com um diretório não-home

13

Eu gostaria de usar o ecryptfs para criptografar um diretório aleatório (ou seja, não meu diretório pessoal ou um subdiretório dele, principalmente devido a limitações de espaço em disco na minha partição inicial) e montar esse diretório quando eu fizer login na minha conta. Não consigo ver como fazer isso ou mesmo se é realmente possível com o software existente. Vi postagens que fornecem sugestões vagas (por exemplo, para usar mount.ecryptfs_private com a opção ALIAS), mas ainda não encontrei instruções simples e passo a passo sobre como fazer isso. Alguém poderia fornecer essas instruções ou direcionar-me para onde encontrá-las?

    
por user3004015 15.01.2015 / 16:43

3 respostas

6

Você só está vendo os scripts super fáceis como ecryptsfs-setup-private e ecryptsfs-mount-private , eles usam as ferramentas mais "genéricas" que você parece estar procurando: mount.ecryptfs e ecryptfs-add-passphrase . Veja suas man páginas para mais informações.

E o link que o Rinzwind postou tem todas as informações que você precisa, mais abaixo na página em Configuração manual . Eles são bem longos, mas a versão muito curta seria:

O modo "Configuração manual" (wiki do archlinux)

Primeiro escolha um ALIAS como quiser. Através desta seção, o ALIAS será secreto. Crie os diretórios / arquivos necessários:

$ mkdir ~/.secret ~/secret ~/.ecryptfs
$ touch ~/.ecryptfs/secret.conf ~/.ecryptfs/secret.sig

O diretório ~/.secret conterá os dados criptografados. O diretório ~/secret é o ponto de montagem em que ~/.secret será montado como um sistema de arquivos ecryptfs.

[Agora crie a frase-senha de montagem real (os scripts fáceis escolherão 32 caracteres pseudo-aleatórios de /dev/urandom ), torná-la boa]

$ echo "$HOME/.secret $HOME/secret ecryptfs" > ~/.ecryptfs/secret.conf
$ ecryptfs-add-passphrase
Passphrase: 
Inserted auth tok with sig [78c6f0645fe62da0] into the user session keyring

Escreva a assinatura de saída (ecryptfs_sig) do comando anterior para ~ / .ecryptfs / secret.sig:

$ echo 78c6f0645fe62da0 > ~/.ecryptfs/secret.sig
  • Uma segunda frase-senha para criptografia de nome de arquivo pode ser usada. Se você escolher, adicione-o ao chaveiro:

    $ ecryptfs-add-passphrase
    Passphrase: 
    Inserted auth tok with sig [326a6d3e2a5d444a] into the user session keyring
    

    Se você executar o comando acima, anexe sua assinatura de saída (ecryptfs_fnek_sig) para ~ / .ecryptfs / secret.sig:

    $ echo 326a6d3e2a5d444a >> ~/.ecryptfs/secret.sig
    

Finalmente, para montar ~ / .secret em ~ / secret:

$ mount.ecryptfs_private secret

Para desmontar ~ / .secret:

$ umount.ecryptfs_private secret
  • Ou você pode realmente sujar as mãos e seguir o Sem instruções ecryptfs-utils .

  • Ou se você já consultou os scripts fáceis ecryptsfs-setup-private & amp; ecryptsfs-mount-private , talvez você possa copiá-los e editá-los para apontar para seus diretórios preferidos, com um pouco de habilidade & amp; paciência.

  • Ou apenas armazene a (s) senha (s) de alguma forma (com segurança de preferência) e faça como no exemplo da página man ecryptfs (deve ler as páginas man):

    The following command will layover mount eCryptfs on /secret with a passphrase
    contained in a file stored on secure media mounted at /mnt/usb/.
    
    mount  -t  ecryptfs -o key=passphrase:passphrase_passwd_file=/mnt/usb/file.txt /secret /secret
    
    Where file.txt contains the contents "passphrase_passwd=[passphrase]".
    

Além de pastas domésticas criptografadas e uma pasta criptografada dentro de pastas eCryptfs aninhadas em casa

E, uma pasta pessoal criptografada normalmente armazena arquivos em /home/.ecryptfs/user/ , enquanto uma pasta particular criptografada tem arquivos dentro de sua própria pasta pessoal. Você pode não usar os dois ao mesmo tempo, eCryptfs não fará pastas criptografadas aninhadas. Mas ter uma casa criptografada e pastas criptografadas fora de sua casa é ok.

  • Acabei de tentar criar um novo usuário com uma home criptografada sudo adduser --encrypt-home jack

    Ele criou uma pasta /home/.ecryptfs/ , com:

    • /home/.ecryptfs/jack/.ecryptfs/ - frase-chave encapsulada & amp; arquivos de configuração para automontar a casa do jack no login
    • /home/.ecryptfs/jack/.Private/ - arquivos reais criptografados reais, montados em /home/jack/ quando efetuado login.

      E também a pasta /home/jack/ , mas continha um link que permanece , esteja logado ou não:

      /home/jack/.ecryptfs/ -> /home/.ecryptfs/jack/.ecryptfs

    • Em seguida, efetuei login como jack, mas o link ainda estava lá, então, tentar executar ecryptfs-setup-private fez com que ele aparecesse em /home/jack/.ecryptfs/ , mas realmente viu os arquivos existentes em /home/.ecryptfs/jack/.ecryptfs , por isso não conseguiu criar outro arquivo de senha & amp; falhar com ERROR: wrapped-passphrase file already exists, use --force to overwrite.

      Experimentando as etapas "ALIAS" acima, usando uma pasta .secret dentro da home criptografada , com estes erros:
      Mount on filesystem of type eCryptfs explicitly disallowed due to known incompatibilities
      Reading sb failed; rc = [-22]

      "Aninhamento de diretórios criptografados dentro de diretórios criptografados não é suportado com eCryptfs. Desculpe." - eCryptfs author & amp; mantenedor

    • Alterando a pasta ALIAS para fora da casa do jack, tentando /tmp/.secret/ & amp; /tmp/secret/ funciona . MAS se o log do jack sair da nova pasta criptografada, permanecerá montado , então você terá que desmontá-lo ( umount.ecryptfs_private secret ).

por Xen2050 16.01.2015 / 14:35
0

Se você quiser usá-lo como o encfs, pode fazê-lo com a seguinte entrada em /etc/fstab

/tmp/.geheim /tmp/geheim ecryptfs rw,no_sig_cache,ecryptfs_fnek_sig=1f7aefb9e239099f,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n,passphrase_passwd=geheimpw,user,noauto 0 0

geheim é a palavra alemã para segredo, mas garante que não seja uma palavra-chave. Você deve criar os diretórios primeiro. A primeira vez você deve deixar ecryptfs_fnek_sig=1f7aefb9e239099f de distância. Então, mount /tmp/geheim mostrará o valor correto.

Você pode armazenar a senha em outro local e definir opções mais sofisticadas. Você encontrará todas as opções em man ecryptfs .

    
por niels 16.05.2016 / 16:57
-1
ecryptfs /destination/to/encrypted/storage /destination/to/seeing/unencrypted/data

por exemplo:

ecryptfs /home/$USER/EFILES /home/$USER/Downloads/RANDOMDIRECTORY

use o comando acima para criar e montar o sistema criptografado onde os arquivos salvos em RANDOMDIRECTORY são criptografados e salvos em EFILES.

notas adicionais. Certifique-se de que RANDOMDIRECTORY esteja vazio quando você começar. Depois de executar o comando acima e o sistema estiver montado e pronto para ser executado, todos os arquivos salvos em RANDOMDIRECTORY serão criptografados em EFILES se o sistema estiver montado. Para um rápido moount / unmount, você pode criar um script bash e executá-lo por meio de um atalho de aplicativo ou criar um comando de alias para montagem rápida.

Estou usando isso há mais de um ano.

EDITAR: fui para casa para confirmar, teu comando não é ecryptfs. seus encfs ou seja,

encfs /destination/encrypted /destination/unencrypted

desculpa por isso. Com isso você terá que instalar um novo programa tho (provavelmente)

    
por dr1094 15.01.2015 / 18:12