
Ich bin gefolgtdiese Stufeneine verschlüsselte USB-Festplatte unter Lubuntu 13.10 einzurichten, unddieseum es mit einer Schlüsseldatei statt einer Passphrase zu entsperren. Ich habe jetzt eine Festplatte /dev/disk/by-uuid/32f692ec-e22c-49d3-b6cf-f90e605a5b48, die das roh verschlüsselte Gerät ist, /dev/backup/backup, die die Klartextfestplatte ist, und /mnt/backup, wo das Dateisystem gemountet ist. Die Festplatte ist eine normale SATA-Festplatte, die über einen USB3-Adapter angeschlossen ist.
Ich habe keine Probleme mit der Verwendung oder dem Mounten der Festplatte. Das Problem tritt auf, wenn ich versuche, sie beim Booten automatisch zu mounten. Ich habe sie zu meiner fstab und crypttab hinzugefügt, wie im Artikel vorgeschlagen:
$ 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
(Vielleicht ist „Backup“ nicht der richtige Name in /etc/crypttab? Ich habe /dev/sda2_crypt nicht.)
In diesem Fall bleibt es beim Booten einfach mit der Meldung „Die Festplatte für /mnt/backup ist nicht bereit oder nicht vorhanden“ hängen.
Ich dachte, dass die Festplatte bis dahin vielleicht noch nicht bereit ist, also habe ich stattdessen versucht, sie in /etc/rc.local zu mounten:
$ 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
Ich kann aus der Syslog-Ausgabe ersehen, dass es zwar ordnungsgemäß entsperrt wird, aber nie gemountet wird. Es scheint, als wäre das ganze rc.local-Skript gerade abgestürzt, als es diese Zeile erreichte. Ich kann auch aus ls, stat und whoami ersehen, dass die Festplatte tatsächlich in der Auflistung vorhanden ist, die Schlüsseldatei zugänglich ist und das Skript als Root ausgeführt wird. Ich weiß also nicht, warum das Mounten fehlschlagen sollte.
Am merkwürdigsten ist es, wenn ich das alles aus rc,local entferne und die Befehle nach dem Booten einfach in ein Terminal eingebe:
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/
Das Mounten funktioniert einwandfrei. Warum schlägt es dann in rc.local und in fstab/crypttab fehl?