Quando escrevi essa resposta há alguns anos, essa era a melhor maneira de implementar a solução. Agora, sugiro que você olhe para a próxima resposta usando mount.ecryptfs_private.
Eu também estava procurando uma maneira de montar automaticamente um segundo volume do eCryptfs. A seguinte coleção de scripts e modificações de configuração montará seu volume com segurança e automaticamente no logon, na GUI ou na CLI.
Existe uma solução melhor que está em processo de criação (embora eu ache que ainda não esteja pronta para a montagem automática no login do usuário, pois esse script terá uma vida útil limitada).
ecryptfs no disco rígido muito pequeno - como adicionar links à criptografia?
A segurança dos scripts depende da criptografia do diretório pessoal 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 raiz aberto após o login, será possível acessar as senhas; no entanto, o uso do sudo NOPASSWD permitirá a montagem segura da partição sem a necessidade de digitar a senha ou deixar a frase secreta em um arquivo legível pelo usuário.
Uma deficiência conhecida desses scripts é que seu segundo volume não será desmontado no logout, pois não é particularmente adequado para sistemas multiusuário.
Minha solução é implementada com várias partes, dois scripts de shell, um que executa a montagem real e outro que serve como invólucro.
Este é o script do wrapper que valida se o diretório já está montado; caso contrário, ele chamará o script de montagem usando o 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 esse script pressupõe que você tenha a criptografia de nome de arquivo ativada; caso contrário, será necessário modificar o script para manipular a detecção (consulte ecryptfs-recover-private) ou você poderá remover a opção de montagem ecryptfs_fnek_sig.
A seguir está 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 eCryptfs mount:
/ 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 do sudo.
Adicione o seguinte a / etc / sudoers (ou um arquivo em /etc/sudoers.d). Você deseja 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
A etapa final é chamar o script automount_ecryptfs no login.
No Ubuntu Unity (e provavelmente gnome), use o miniaplicativo Startup Applications para criar um novo programa de inicialização que chame / home / johnf / scripts / automount_ecryptfs.
Para montar automaticamente o segundo volume do eCryptfs no logon em um shell bash, você deverá modificar seu arquivo ~ / .bashrc. Adicione o seguinte:
/home/johnf/scripts/automount_ecryptfs
Com essa configuração, você deve montar automaticamente seu segundo volume do eCryptfs.