
Hallo allerseits,
ich arbeite an einem Banana Pi mit Arch Linux und versuche derzeit Folgendes zu erreichen:
- Nachdem jemand die verschlüsselten Schlüsseldateien für meinen externen Speicher gemountet hat, soll systemd diese verwenden und den externen Speicher mounten
- systemd startet alle Dienste, die auf dem externen Speicher laufen
- Beim Herunterfahren soll alles gestoppt werden, bevor das verschlüsselte Volume ausgehängt wird
Nach einigen Stunden hat es endlich geklappt und ich frage mich, ob es eine kleinere Lösung gibt:
/etc/systemd/system
luks.keys.pfad
[Unit]
Description=luks-keys found in /etc/luks-keys
[Path]
DirectoryNotEmpty=/etc/luks-keys/
[Install]
WantedBy=multi-user.target
luks.keys.service
[Unit]
Description=luks-keys availible
Conflicts=umount.target
Before=umount.target
[Service]
Type=simple
ExecStart=/usr/local/bin/storage
RemainAfterExit=yes
Speicherziel
[Unit]
Description=Storage
Requires=basic.target
After=multi-user.target
Requisite=luks.keys.service
AllowIsolate=yes
./storage.target.wants/minidlna.service
[Unit]
Description=minidlna server
After=network.target
Requisite=luks.keys.service
[Service]
Type=forking
ExecStart=/usr/bin/minidlnad -P /run/minidlna/minidlna.pid
PIDFile=/run/minidlna/minidlna.pid
[Install]
WantedBy=storage.target
/usr/local/bin/storage
#!/bin/bash
systemclt isolate storage.target
cryptsetup --key-file /etc/luks-keys/storage1 luksOpen /dev/sda1 storage1
mount /dev/mapper/storage1 /mnt/storage1
Pi-Boots:
- systemd startet multi-user.target
- aktiviert luks.keys.path, das auf Dateien in /etc/luks-keys wartet
- Dateien gefunden
- luks.keys.service wird aktiviert und startet storage.target
- die anderen Dienste starten
Vor dem Aushängen:
- systemctl versucht luks.keys.service zu stoppen
- storage.target und die anderen Dienste werden gestoppt, weil sie dann luks.keys.service benötigen
- luks.keys.service wird schließlich beendet und das Herunterfahren wird mit umount.target fortgesetzt
Wenn dies nicht mit weniger Aufwand zu erreichen ist, präsentiere ich Ihnen gerne die Antwort auf die Frage:
So konfigurieren Sie systemd für ein später bereitgestelltes verschlüsseltes Volume mit darauf ausgeführten Diensten