Files
da-HomeNetDocumentation/PI5/Konfiguration/etc/systemd-cryptsetup.md
T

3.2 KiB
Raw Blame History

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:

  1. USB-Stick mounten (/mnt/usb_key)
  2. Dann erst die LUKS-Container öffnen (Schlüsseldatei liegt auf dem USB-Stick)
  3. 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_keymnt-usb_key.mount
  • /mnt/datamnt-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