Cuando escribí esta respuesta hace unos años, esta era la mejor manera de implementar la solución. Ahora sugiero que mire la siguiente respuesta usando mount.ecryptfs_private en su lugar.
También estaba buscando una manera de montar automáticamente un segundo volumen eCryptfs. La siguiente colección de scripts y modificaciones de configuración montará su volumen de forma segura y automática al iniciar sesión, ya sea en la GUI o la CLI.
Hay una mejor solución que está en proceso de creación (aunque creo que no está lista para el montaje automático en el inicio de sesión del usuario, por lo que este script tendrá una vida útil limitada):
ecryptfs en un disco duro demasiado pequeño: ¿cómo agregar enlaces al cifrado?
La seguridad de los scripts depende de que su directorio de inicio esté encriptado con eCryptfs para que el script y los archivos con la contraseña para desenvolver su frase de contraseña estén encriptados. Si deja su computadora desbloqueada con un shell raíz abierto después de iniciar sesión, será posible acceder a las contraseñas, sin embargo, el uso de sudo NOPASSWD permite el montaje seguro de la partición sin requerir la entrada de contraseña o dejar la frase de contraseña en un archivo legible por el usuario.
Una deficiencia conocida de estos scripts es que su segundo volumen no se desmontará al cerrar sesión, por lo que no es particularmente adecuado para sistemas multiusuario.
Mi solución se implementa con varias partes, dos scripts de shell, uno que realiza el montaje real y otro que sirve de envoltorio.
Este es el script de contenedor que valida si el directorio ya está montado, si no lo está, llamará al script de montaje 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 llama a / home / johnf / scripts / mount_other_ecryptfs, que es el siguiente.
Tenga en cuenta que esta secuencia de comandos asume que tiene habilitado el cifrado de nombre de archivo; si no lo hace, será necesario modificar la secuencia de comandos para manejar la detección (mire ecryptfs-recovery-private) o puede eliminar la opción de montaje ecryptfs_fnek_sig.
El siguiente es el 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}
También deberá crear un archivo con su contraseña, el comando de montaje eCryptfs utilizará este archivo:
/ home / johnf / scripts / ecryptfs_passphrase:
passwd=secret_passphrase
Necesita modificar los permisos en varios archivos:
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 crear los scripts, debe crear una configuración de sudoers para permitir la ejecución del script de montaje usando sudo sin ingresar su contraseña de sudo.
Agregue lo siguiente a / etc / sudoers (o un archivo en /etc/sudoers.d). Deberá reemplazar johnf con su nombre de usuario. Es necesario utilizar una ruta absoluta al script de montaje.
johnf ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs
El último paso es llamar al script automount_ecryptfs al iniciar sesión.
En Ubuntu Unity (y probablemente gnome) use el applet Startup Applications para crear un nuevo programa de inicio que llame a / home / johnf / scripts / automount_ecryptfs.
Para montar automáticamente el segundo volumen eCryptfs al iniciar sesión en un shell bash, querrá modificar su archivo ~ / .bashrc. Agregue lo siguiente:
/home/johnf/scripts/automount_ecryptfs
Con esta configuración en su lugar, ahora debe montar automáticamente su segundo volumen eCryptfs.