ti-enxame.com

Como melhor criptografar e descriptografar um diretório através da linha de comando ou script?

Eu tenho um diretório de arquivos de texto sob o controle de versão do Bazaar e mantenha uma cópia (uma filial, na verdade) em cada uma das minhas máquinas. Eu quero criptografar e desenterrar o diretório através da linha de comando.

Idealmente, eu também seria capaz de ter um script executado no logout para verificar se o diretório é criptografado e criptografa-o se não, todos sem intervenção do usuário. Eu não quero, no entanto, a direção para ser descriptografada no login. (Eu quero o script como guarda contra o esquecimento de criptografar manualmente. Isso é especialmente importante para o netbook.)

Estou correndo ubuntu 10.04.1 e duas versões do crunchbang linux, um derivado de ubuntu 9.04, o instantâneo de junho do final do Debian Squeeze Repos.

Qual é a melhor maneira de fazer isso?

(Eu tentei tag com encryption e directories, mas falta o representante para criar uma tag.)

8
vanden

Você tem acesso administrativo às máquinas? Pode-se usar um dispositivo de loopback criptografado. Exemplo:

faça um arquivo de contêiner para o FS criptografado:

dd if=/dev/urandom of=container bs=1024k count=100 

vinculando o arquivo de contêiner ao dispositivo de loopback 0:

losetup container /dev/loop0

criar dispositivo criptografado (Pergunta por senha duas vezes; linha dividida por \):

cryptsetup -c serpent-xts-essiv:sha256 -b 512 \
   -y create container /dev/loop0 

criar sistema de arquivos ext2 em dispositivo criptografado (pode usar qualquer coisa realmente):

mkfs.ext2 /dev/mapper/container

diretório de arquivos criptografados de montagens para o diretório cripto:

mount /dev/mapper/container crypt

Para referência:

man cryptsetup && man losetup

Além disso, leia as melhores práticas de criptografia, para obter informações sobre como escolher cifra e comprimentos de chave para usar, etc.

5
dsp

Que tal usar GPGDIR ? Isso deve ser scriptable para login e logout. Você também pode selecionar subdiretórios que devem ser criptografados (você pode querer arquivo como .bash_rc permanecer descriptografado, por exemplo).

Outra alternativa pode ser TrueCrypt . Você pode criar um contêiner para seus dados e criptografar/descriptografá-lo através de scripts shell.

3
Bran the Blessed

Você também pode usar ecryptfs, que é padrão no Ubuntu e suas distribuições derivadas. Isso é o que é usado quando o processo de instalação lhe pergunta se você deseja criptar seu diretório inicial (http://www.linuxjournal.com/article/9400). A vantagem do ECRPTFS é que você não precisa de uma partição separada, ou um arquivo montado em loopback para usá-lo.

2
Luc Stepniewski