Systemd will Home-Verzeichnisse portabel machen

In Berlin fand am Wochenende die jährliche Linux-Userspace-Konferenz “All Systems Go!” statt. Dort präsentierte Systemd-Entwickler Lennart Poettering Pläne, Home-Verzeichnisse künftig portabel zu machen und zu verschlüsseln.

“Ich bin Lennart Poettering und heute nehme ich Eure Home-Verzeichnisse weg”, scherzte der Systemd-Entwickler zu Beginn seines Vortrags, wohlwissend um seine kontroverse Rolle in der Linux-Community. Ziel sei es, das Home-Verzeichnis nicht nur besser via Verschlüsselung zu schützen, sondern es auch portabel zu machen. Er wolle, zum Beispiel, sein Home auf einem USB-Stick mitnehmen, an einen anderen Rechner mit einem Linux stöpseln und es dort nutzen.

“systemd-homed”

Der “systemd-homed”-Dienst will dabei nicht wirklich traditionelle Home-Verzeichnisse abschaffen, sondern portable und verschlüsselte Verzeichnisse als Option ergänzen. Er fokussiert dabei speziell auf Laptops und den Unternehmenseinsatz. Sämtliche Metadaten zu den Nutzern sollen dann tatsächlich im Home liegen. Externe Abhängigkeiten im restlichen Dateisystem soll es nicht geben.

Für die Home-Verzeichnisse bietet “systemd-homed” mehrere Backends an. Als Ziele kommen normale Directories, Btrfs-Subvolumes, Cifs-Mounts in Frage. In diesem Fall liegen die User Records unverschlüsselt und im JSON-Format als “~/.identity”-Dateien vor. Sie sind signiert und normale Nutzer dürfen sie nicht ändern. Auf dem Host existieren eigene User Records, die der Host dann mit den User Records der Home-Partition abgleicht. Ist die Signatur auf dem Host nicht bekannt, mountet dieser das Home-Image aus Sicherheitsgründen nicht. Systemadmins dürfen die Signatur allerdings manuell ergänzen.

Verschlüsseltes Home

Was Lennart Poettering und seine Mitstreiter aber eigentlich umtreibt, ist die Tatsache, dass privilegierte Dienste wie der Apache-Server auf gewöhnlichen Linux-Systemen problemlos auf private Daten im Home-Verzeichnis zugreifen. Daher soll “systemd-homed” auch das verschlüsseln von Partitionen erlauben. Neben FS-Crypt soll auch LUKS2 zum Einsatz kommen.

Die Systemd-Macher wollen das verschlüsselte Home-Abbild dabei als Loopback-Device einhängen. Canonicals Snap-Paketformat nutze diese Technologie bereits erfolgreich und ohne großen Overhead, erklärte Poettering gegenüber dem Linux-Magazin. Der verschlüsselte User Record soll im LUKS2-Header stecken. Das erlaube es dem Kernel, das Home-Image vor dem Einhängen zu validieren und dieses gegebenenfalls abzulehnen.

Zugleich wolle er das Home über LUKS2 verschlüsseln, sobald der Rechner in den Suspend-to-RAM-Modus geht. Das Nutzerpasswort soll bei verschlüsselten Home-Verzeichnissen zugleich zum Entschlüsseln dienen. Der Code sei laut Lennart Poettering bereits zum großen Teil vorhanden, er findet sich in seinem Github-Zweig von Systemd.

UID-Vergabe

Um den Plan in die Tat umzusetzen, waren allerdings einige harte Probleme zu lösen, denn das Home und die zugehörigen Konfigurationsdateien sind historisch gewachsen. So unterscheiden sich die User-IDs von Linux-System zu Linux-System und sind dann auch an einen Benutzernamen gebunden. Zwar vergibt “systemd-homed” recht einzigartige UIDs für die Home-Partitionen, allerdings sind diese nicht einzigartig genug. Das sei laut Poettering eine Anforderung des Kernel. Sind UIDs auf dem Host doppelt vorhanden, vergibt “systemd-homed” eine neue UID und führt einen rekursives “chown” durch.

Auch die Authentifizierung sei veraltet: Weil sich “/etc/passwd” nicht erweitern lasse, seien für andere Zwecke Hilfsdatenbanken entstanden, etwa für SSH-Schlüssel, Samba und PAM. Um portabel zu sein, muss das UID-Assignment des Home-Service lokal stattfinden (wenn der Nutzer sein Home einhängt) und auf jedem System, was Poettering als “hartes Problem” bezeichnete. SSH lasse sich dann zum Beispiel erst nutzen, wenn der User sich gegenüber dem System identifiziert habe. Die SSH-Schlüssel lassen sich laut Spezifikation ebenfalls in den User Records unterbringen.

E-Mail Benachrichtigung
Benachrichtige mich zu:
2 Comments
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Atalanttore
4 Jahre her

Neben Lennart Poettering gibt es im Linux-Umfeld leider nur sehr wenige Entwickler, die historisch gewachsene Softwarestrukturen modernisieren.

kolAflash
4 Jahre her

Kann mir nochmal jemand erklären, warum das alte Home-Verzeichnis- und Benutzer-System nicht mehr ausreichend ist?
(ernsthafte Frage!)

Bei PulseAudio war ich ja noch ziemlich glücklich, dass ich jetzt die Lautstärke einzelner Anwendungen ändern kann.

Bei Systemd hieß es anfangs, dass der Rechner damit schneller starten soll. Aber ich habe nicht das Gefühl, dass sich das so richtig bewahrtheitet hat. Und selbst wenn, dafür muss ich mich jetzt mit sowas rumschlagen, wie dass ein Dienst “masked” ist. Was soll das sein “masked”? Komisch… nervig!

Nach oben