dm-crypt (Español)/Mounting at login (Español)
Es posible configurar PAM y systemd (Español) para montar automáticamente una partición «home» cifrada con dm-crypt cuando su propietario inicie sesión y desmontarla cuando la cierre.
Este tutorial supone que ya ha creado su partición cifrada, como se describe en Dm-crypt/Encrypting a non-root file system (Español).
- Debe usar la misma contraseña para su cuenta de usuario y para LUKS.
- En todos los ejemplos, reemplace
SUNOMBRE
con su nombre de usuario,1000
con su ID de usuario yPARTICIÓN
con el nombre del dispositivo de la partición cifrada.
Montar al iniciar sesión
pam_exec se puede usar para desbloquear el dispositivo al iniciar sesión. Edite /etc/pam.d/system-login
y añada la línea siguiente resaltada en negrita después de auth include system-auth
:
pam_exec
para session
también, vea Talk:Dm-crypt/Mounting at login#pam_exec required for session & using script./etc/pam.d/system-login
... auth include system-auth auth optional pam_exec.so expose_authtok quiet /usr/bin/cryptsetup open /dev/PARTICIÓN home-SUNOMBRE ...
Ahora edite /etc/fstab
para montar el dispositivo desbloqueado utilizando systemd.automount:
/etc/fstab
... /dev/mapper/home-SUNOMBRE /home/SUNOMBRE ext4 rw,noatime,noauto,x-systemd.automount 0 2 ...
Su directorio «home» se montará automáticamente en el primer acceso realizado por su entorno de escritorio o intérprete de órdenes.
Desmontar al cerrar sesión
Después de cerrar todas sus sesiones, systemd-logind cierra automáticamente user@1000.service
. Por lo tanto, puede especificar qué punto de montaje se requerirá y systemd lo desmontará automáticamente:
/etc/systemd/system/home-SUNOMBRE.mount.d/logout.conf
[Unit] Requires=user@1000.service
Sin embargo, esto creará un bucle de dependencia circular que no puede resolverse automáticamente por systemd , por lo que debe describir las dependencias y ordenarlas de forma explícita:
/etc/systemd/system/user@1000.service.d/homedir.conf
[Unit] Requires=home-SUNOMBRE.mount After=home-SUNOMBRE.mount
KillUserProcesses=yes
en /etc/systemd/logind.conf
.Bloquear
Después de desmontar, el dispositivo seguirá desbloqueado, y será posible montarlo sin volver a ingresar la contraseña. Puede configurar y activar un servicio que se inicie cuando el dispositivo se desbloquea (BindsTo=dev-mapper-home\x2dSUNOMBRE.device
) y expire después de que el dispositivo se desmonta (Requires,Before=home-SUNOMBRE.mount
), bloqueando el dispositivo en el proceso (ExecStop=cryptsetup close
):
/etc/systemd/system/cryptsetup-SUNOMBRE.service
[Unit] DefaultDependencies=no BindsTo=dev-PARTICIÓN.device After=dev-PARTICIÓN.device BindsTo=dev-mapper-home\x2dSUNOMBRE.device Requires=home-SUNOMBRE.mount Before=home-SUNOMBRE.mount Conflicts=umount.target Before=umount.target [Service] Type=oneshot RemainAfterExit=yes TimeoutSec=0 ExecStop=/usr/bin/cryptsetup close home-SUNOMBRE [Install] RequiredBy=dev-mapper-home\x2dSUNOMBRE.device
dev-PARTICIÓN
es el resultado de systemd-escape -p /dev/PARTICIÓN