Was ich erreichen möchte:
- Die Abfrage eines Passworts erfolgt nur einmal während des Bootvorgangs.
- Die anderen (nicht-Root-)Partitionen verwenden die Schlüsseldatei im
/root/
Verzeichnis.
Was ich bisher erreicht habe:
- (A)Das System wird gebootet, fragt aber zweimal nach dem Passwort (einmal für
/
und einmal für/usr
). - Oder:(B)Das System bootet nicht, fragt einmal nach dem Passwort, lehnt dann aber die Bereitstellung
/usr
mit der Begründung ab, dass die LVM-Gruppe/das LVM-Volume nicht gefunden werden kann. Ich werde zur Shell weitergeleitet und sehe, dass es/root/.keyfile
nicht verfügbar ist./
wurde noch nicht bereitgestellt.
Aufbau
Datei:/etc/crypttab
Fall A
sdc3_crypt /dev/sdc3 none luks md0_crypt /dev/md0 none luks
Fall B
sdc3_crypt /dev/sdc3 none luks md0_crypt /dev/md0 /root/.keyfile luks
Was überhaupt nicht funktioniert hat
- Erstellen von Skriptdateien zum manuellen Öffnen des erforderlichen Laufwerks mit luksOpen: Die in
/etc/initramfs-tools/scripts/local-premount
werden aufgerufen, bevor/
es verfügbar ist, die in/etc/initramfs-tools/scripts/local-bottom
werden jedoch aufgerufen, nachdem es geöffnet werden soll/usr
(und es daher zu spät ist).
Antwort1
Andiese Wiki-Seite(auf Deutsch, leider habe ich kein Äquivalent auf Englisch gefunden) Es wird empfohlen, das Skript zu verwenden, /lib/cryptsetup/scripts/decrypt_derived
um einen Schlüssel vom geöffneten Root-Gerät zu generieren. Ich werde versuchen, die wichtigen Teile zu übersetzen, aber ich habeNICHThabe das Verfahren ausprobiert.
Um den Schlüssel hinzuzufügen, müssen Sie (als Root) ausführen:
mkdir /mnt/ram && mount -t ramfs -o size=1m ramfs /mnt/ram && chmod 600 /mnt/ram
/lib/cryptsetup/scripts/decrypt_derived <root_dev> > /mnt/ram/tmp.key && cryptsetup luksAddKey <usr_dev> /mnt/ram/tmp.key && rm /mnt/ram/tmp.key
umount /mnt/ram && rmdir /mnt/ram
wobei <root_name>
der Name Ihres Root-Geräts ist, wie in angezeigt /dev/mapper
(wahrscheinlich sdc3_crypt
), und <usr_dev>
das Gerät, auf dem /usr
sich (wahrscheinlich /dev/md0
) befindet.
Die Zeile für Crypttab lautet
<usr_name> UUID=<UUID> <root_name> luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
denk daran zu rennen
update-initramfs -u -k all
nach dem Ändern von Crypttab.
Sie sollten für Ihr usr-Gerät ein „normales“ Passwort verwenden, da Sie es sonst nicht öffnen können, falls Ihr Root-Gerät beschädigt ist.