Quando escrevi esta resposta há alguns anos, essa era a melhor maneira de implementar a solução. Agora eu sugiro que você olhe a próxima resposta usando mount.ecryptfs_private.
Eu também estava procurando uma maneira de montar automaticamente um segundo volume eCryptfs. A seguinte coleção de scripts e modificações de configuração montará seu volume com segurança e automaticamente no login, seja na GUI ou na CLI.
Existe uma solução melhor no processo de criação (embora eu ache que não estou pronta para a montagem automática no login do usuário, pois esse script terá uma vida útil limitada.):
ecryptfs em muito pequenas disco rígido - como adicionar links na criptografia?
A segurança dos scripts depende do seu diretório inicial ser criptografado com o eCryptfs para que o script e os arquivos com a senha para desembrulhar sua senha sejam criptografados. Se você deixar seu computador desbloqueado com um shell root aberto após o login, será possível acessar as senhas, no entanto, o uso do sudo NOPASSWD permite a montagem segura da partição sem exigir a inserção de senha ou deixando a senha em um arquivo legível pelo usuário.
Uma deficiência conhecida desses scripts é que o segundo volume não será desmontado no logout, portanto, não é adequado para sistemas com vários usuários.
Minha solução é implementada com várias partes, dois scripts de shell, um que executa a montagem real e outro que serve como um wrapper para ele.
Este é o script wrapper que valida se o diretório já está montado, se não estiver, ele irá chamar o script de montagem usando sudo:
/ home / johnf / scripts / automount_ecryptfs
#!/bin/bash
MOUNT_POINT=/home/johnf/slow
grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
sudo /home/johnf/scripts/mount_other_ecryptfs
fi
Este script chama / home / johnf / scripts / mount_other_ecryptfs, que é o seguinte.
Observe que este script pressupõe que você tenha a criptografia de nome de arquivo ativada, caso contrário, será necessário modificar o script para lidar com a detecção (veja em ecryptfs-recover-private) ou você pode remover a opção de montagem ecryptfs_fnek_sig .
O seguinte é o script / home / johnf / scripts / mount_other_ecryptfs:
#!/bin/bash
ENCRYPTED_VOLUME=/vol0/.ecryptfs/johnf/.Private/
MOUNT_POINT=/home/johnf/slow
PASSFILE=/home/johnf/scripts/ecryptfs_passphrase
MOUNT_PASSWORD=secret_passphrase
ECRYPTFS_SIG='head -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig'
ECRYPTFS_FNEK_SIG='tail -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig'
printf "%s" $MOUNT_PASSWORD | ecryptfs-insert-wrapped-passphrase-into-keyring ${ENCRYPTED_VOLUME}/../.ecryptfs/wrapped-passphrase
mount -t ecryptfs -o key=passphrase:passfile=${PASSFILE},ecryptfs_sig=${ECRYPTFS_SIG},ecryptfs_fnek_sig=${ECRYPTFS_FNEK_SIG},ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n ${ENCRYPTED_VOLUME} ${MOUNT_POINT}
Você também precisará criar um arquivo com sua senha, este arquivo será usado pelo comando mount do eCryptfs:
/ home / johnf / scripts / ecryptfs_passphrase:
passwd=secret_passphrase
Você precisa modificar as permissões em vários arquivos:
chmod +x /home/johnf/scripts/automount_ecryptfs
sudo chown root:root /home/johnf/scripts/mount_other_ecryptfs /home/johnf/scripts/ecryptfs_passphrase
sudo chmod a=x /home/johnf/scripts/mount_other_ecryptfs
sudo chmod 400 /home/johnf/scripts/ecryptfs_passphrase
Antes de criar os scripts, você precisa criar uma configuração de sudoers para permitir a execução do script de montagem usando o sudo sem inserir sua senha sudo.
Adicione o seguinte ao arquivo / etc / sudoers (ou um arquivo em /etc/sudoers.d). Você vai querer substituir johnf pelo seu nome de usuário. É necessário usar um caminho absoluto para o script de montagem.
johnf ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs
O passo final é chamar o script automount_ecryptfs no login.
No Ubuntu Unity (e provavelmente no gnome) use o applet Startup Applications para criar um novo programa de inicialização que chame / home / johnf / scripts / automount_ecryptfs.
Para montar automaticamente o segundo volume eCryptfs no login em um shell bash, você desejará modificar seu arquivo ~ / .bashrc. Adicione o seguinte:
/home/johnf/scripts/automount_ecryptfs
Com esta configuração em vigor, você deve agora montar automaticamente o seu segundo volume eCryptfs.