Montar automaticamente um disco USB criptografado na inicialização

1

Eu segui estas etapas para configurar um disco rígido USB criptografado no Lubuntu 13.10, e estes para desbloqueá-lo com um arquivo de chaves em vez de uma frase secreta. Agora tenho um disco / dev / disk / by-uuid / 32f692ec-e22c-49d3-b6cf-f90e605a5b48 que é o dispositivo criptografado bruto, / dev / backup / backup que é o disco de texto sem formatação e / mnt / backup em que o sistema de arquivos está montado. O disco é um disco rígido SATA comum conectado por um adaptador USB3.

Eu não tenho problemas para usar ou montar o disco; O problema está em tentar montá-lo automaticamente na inicialização. Eu adicionei ao meu fstab e crypttab como o artigo sugere:

$ 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

(Talvez "backup" não seja o nome correto em / etc / crypttab? Eu não tenho / dev / sda2_crypt.)

Com isso, ele apenas trava na inicialização dizendo "o disco para / mnt / backup não está pronto ou não está presente".

Eu imaginei que talvez o disco ainda não esteja pronto, então tentei montá-lo em /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

Eu posso ver na saída do syslog que ela desbloqueia OK, mas nunca monta. Parece que todo o script rc.local acabou de morrer quando atinge essa linha. Eu também posso ver a partir do ls, stat e whoami que o disco está de fato presente na listagem, o arquivo de chave é acessível, e o script está sendo executado como root. Então eu não sei porque a montagem falharia.

A parte mais estranha é se eu remover tudo isso de rc, local, e apenas inserir os comandos em um terminal após o boot:

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/

Monta bem. Então, por que falha em rc.local e em fstab / crypttab?

    
por Rena 08.12.2013 / 08:12

0 respostas