
he seguidoestos pasospara configurar un disco duro USB cifrado en Lubuntu 13.10, yestospara desbloquearlo con un archivo de claves en lugar de una frase de contraseña. Ahora tengo un disco /dev/disk/by-uuid/32f692ec-e22c-49d3-b6cf-f90e605a5b48 que es el dispositivo cifrado sin formato, /dev/backup/backup que es el disco de texto sin formato y /mnt/backup donde está el sistema de archivos esta montado. El disco es un disco duro SATA normal conectado mediante un adaptador USB3.
No tengo problemas para usar o montar el disco; el problema viene al intentar montarlo automáticamente en el arranque. Lo agregué a mi fstab y crypttab como sugiere el artículo:
$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/sda2_crypt / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=8afa992c-9174-4a70-b9a0-1ac25b42dbaf /boot ext2 defaults 0 2
/dev/mapper/sdb2_crypt /home ext4 defaults 0 2
/dev/mapper/sdb1_crypt /var ext4 defaults 0 2
/dev/backup/backup /mnt/backup ext4 defaults 0 3
$ cat /etc/crypttab
sda2_crypt UUID=6450d0e6-539b-4fa0-a9e1-f06edfbb5ba9 none luks
sdb1_crypt UUID=f30e6efe-8e58-42b6-aed0-dc7999510744 /root/keyfile luks
sdb2_crypt UUID=17f1f107-8f05-4dbd-8172-4d595411d874 /root/keyfile luks
backup UUID=32f692ec-e22c-49d3-b6cf-f90e605a5b48 /root/keyfile luks
(¿Quizás "copia de seguridad" no sea el nombre correcto en /etc/crypttab? No tengo /dev/sda2_crypt.)
Con esto, simplemente se bloquea al arrancar y dice "el disco para /mnt/backup no está listo o no está presente".
Pensé que tal vez el disco no estuviera listo para entonces, así que intenté montarlo en /etc/rc.local:
$ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
logger Mounting backup disk...
ls -l /dev/disk/by-uuid/ > /home/rena/disk-uuid.txt
stat /root/keyfile >> /home/rena/disk-uuid.txt
whoami >> /home/rena/disk-uuid.txt
cryptsetup --verbose --key-file=/root/keyfile luksOpen /dev/disk/by-uuid/32f692ec-e22c-49d3-b6cf-f90e605a5b48 backup
logger Unlocked OK.
mount /dev/backup/backup /mnt/backup/
logger Mounted OK.
exit 0
Puedo ver en la salida de syslog que se desbloquea correctamente, pero nunca se monta. Parece que todo el script rc.local acaba de morir cuando llega a esa línea. También puedo ver en ls, stat y whoami que el disco está presente en la lista, que se puede acceder al archivo de claves y que el script se ejecuta como root. Entonces no sé por qué fallaría el montaje.
La parte más extraña es si elimino todo esto de rc,local y simplemente ingreso los comandos en una terminal después del arranque:
sudo cryptsetup --verbose --key-file=/root/keyfile luksOpen /dev/disk/by-uuid/32f692ec-e22c-49d3-b6cf-f90e605a5b48 backup
sudo mount /dev/backup/backup /mnt/backup/
Se monta bien. Entonces, ¿por qué falla en rc.local y en fstab/crypttab?