3.2 KiB
3.2 KiB
title, description, published, date, tags, editor, dateCreated
| title | description | published | date | tags | editor | dateCreated |
|---|---|---|---|---|---|---|
| systemd-cryptsetup | true | 2026-06-28T14:31:29.472Z | markdown | 2026-06-28T14:31:27.749Z |
systemd-cryptsetup – Boot-Reihenfolge und Abhängigkeiten
Zusammenfassung: systemd steuert die Reihenfolge beim Boot: Zuerst muss der USB-Stick mit den Schlüsseldateien gemountet sein, dann können die LUKS-Container geöffnet werden. Spezielle crypttab-Optionen stellen dies sicher.
Quellen: chats/fstab und crypttab.md, konfigurationsdateien/crypttab
Zuletzt aktualisiert: 2026-06-16
Die Herausforderung
Die LUKS-Container auf sdb3 und sdc3 werden mit Schlüsseldateien auf einem USB-Stick (/dev/sda1) entsperrt. Beim Boot muss systemd sicherstellen:
- USB-Stick mounten (
/mnt/usb_key) - Dann erst die LUKS-Container öffnen (Schlüsseldatei liegt auf dem USB-Stick)
- Dann die Dateisysteme mounten (siehe fstab)
Lösung: systemd-Optionen in der crypttab
Die crypttab-Einträge enthalten systemd-spezifische Optionen:
encrypt_data UUID=097bccad-... /mnt/usb_key/twotb.bin luks,tries=3,\
x-systemd.requires=mnt-usb_key.mount,\
x-systemd.after=mnt-usb_key.mount,\
x-systemd.device-timeout=15s
Optionen im Detail
| Option | Wirkung |
|---|---|
x-systemd.requires=mnt-usb_key.mount |
Stellt sicher, dass der USB-Key-Mount aktiv ist, bevor der LUKS-Container geöffnet wird. Schlägt der Mount fehl, wird auch der Container nicht geöffnet. |
x-systemd.after=mnt-usb_key.mount |
Legt die Reihenfolge fest: Der USB-Key-Mount muss vor dem Container-Öffnen gestartet werden. |
x-systemd.device-timeout=15s |
systemd wartet maximal 15 Sekunden auf das Device (falls der USB-Stick langsam initialisiert). |
tries=3 |
Maximale Anzahl an Fehlversuchen bei der Entschlüsselung. |
Wie der Unit-Name zustande kommt
Der systemd-Mount-Name folgt einer festen Konvention: Pfade werden mit - statt / und .mount als Suffix geschrieben.
/mnt/usb_key→mnt-usb_key.mount/mnt/data→mnt-data.mount
Ablauf beim Boot
USB-Stick wird erkannt (udev)
│
▼
mnt-usb_key.mount (systemd mount unit)
│
├── x-systemd.requires ──┐
├── x-systemd.after ─────┤
│ ▼
│ systemd-cryptsetup@encrypt_data.service
│ systemd-cryptsetup@encrypt_sdc3.service
│ │
│ ▼
│ /dev/mapper/encrypt_data ← verfügbar
│ /dev/mapper/encrypt_sdc3 ← verfügbar
│
▼
mnt-data.mount (aus /etc/fstab)
media-piadmin-data.mount (aus /etc/fstab)
Fehlerbehebung
# Status des Container-Öffnens prüfen
journalctl -b -u systemd-cryptsetup@encrypt_data.service -e
journalctl -b -u systemd-cryptsetup@encrypt_sdc3.service -e
# Prüfen, ob der USB-Stick gemountet ist
lsblk /dev/sda
mount | grep usb_key
# systemd-Abhängigkeiten visualisieren
systemctl list-dependencies mnt-data.mount
Verwandte Seiten
- crypttab – Die crypttab-Konfiguration
- fstab – Mountet die geöffneten Container
- cryptsetup – Manuelle cryptsetup-Befehle