Systemd wird die Funktionsweise Ihres Linux-Home-Verzeichnisses ändern

Das Team hinter systemd möchte, dass Sie eine neue Art der Verwaltung von Home-Verzeichnissen einschlagen. Es einen „neuen Weg“ zu nennen, ist leichtfertig – dies ist ein echter Paradigmenwechsel für Linux. Hier ist alles, was Sie über systemd-homed wissen müssen, das wahrscheinlich zu einer Linux-Distribution in Ihrer Nähe kommt.

Kein Fremder für Kontroversen

Wann systemd 2010 eingeführt wurde, teilte sich die Linux-Community in drei Lager. Einige hielten es für eine Verbesserung, andere für ein fehlerhaftes Design, das nicht eingehalten wurde die Unix-Philosophie. Und einigen war es so oder so egal.

Die Gegenreaktion der Gegner war laut, hitzig und in manchen Fällen fast fanatisch. Lennart Poettering, ein Software-Ingenieur bei roter Hut und Mitentwickler von systemd, erhielt sogar Morddrohungen.

Auf YouTube wurden Lieder gepostet, die Gewalt gegen Poettering befürworteten, und es erschienen Websites, die versuchten, Linux-Benutzer zum Boykott von systemd zu zwingen. Sein Mitentwickler, Kay SieversAuch er wurde kritisiert und beschimpft, aber Pöttering trug sicherlich die Hauptlast.

Doch innerhalb von acht Monaten verwendete Fedora systemd. Bis Ende 2013, Bogen, Debian, Manjaro, und Ubuntu waren alle auf systemd umgezogen. Natürlich ist der Ruhm von Open Source, wenn Ihnen etwas nicht gefällt, Sie den Quellcode forken und Ihr eigenes Ding damit machen können. Neue Distributionen – wie Devuan, die ein Fork von Debian war, wurden ausschließlich erstellt, um die Verwendung von systemd zu vermeiden.

Ihr $HOME-Verzeichnis

In der Linux-Verzeichnisstruktur befindet sich alles, was Sie tun, im Verzeichnis „/home“. Ihre Datendateien, Bilder, Musik und der gesamte persönliche Verzeichnisbaum werden in diesem einen Verzeichnis gespeichert, das nach Ihrem Benutzerkonto benannt ist.

Die Einstellungen für Ihre Anwendungen werden in Ihrem Home-Ordner in versteckten „Punktverzeichnissen“ gespeichert. Wenn das erste Zeichen eines Datei- oder Verzeichnisnamens ein Punkt (.) ist, wird es ausgeblendet. Da diese Einstellungen lokal und nicht in einer zentralen Registrierung gespeichert werden – und da eine Sicherung Ihres Home-Verzeichnisses diese versteckten Dateien und Ordner enthält – werden auch alle Ihre Einstellungen gesichert.

Wenn Sie ein Backup wiederherstellen und eine Anwendung wie LibreOffice oder Thunderbird starten, sucht es nach seinem versteckten Verzeichnis. Es findet auch Ihre Dokumenteinstellungen, Symbolleisteneinstellungen und alle anderen Anpassungen. Thunderbird findet Ihre E-Mail-Kontoinformationen und Ihre E-Mail. Sie müssen sich nicht die Mühe machen, jede Anwendung langsam einzurichten.

  So speichern Sie Dateien kostenlos in der Cloud mit Ice Drive unter Linux

Sie können ls mit der Option -a (all) verwenden, um versteckte Dateien und Verzeichnisse anzuzeigen. Geben Sie zunächst Folgendes ein:

ls

Dies zeigt Ihnen die regulären Dateien und Verzeichnisse. Geben Sie als Nächstes Folgendes ein:

ls -a

Jetzt können Sie die versteckten Dateien und Verzeichnisse sehen.

Da es der wertvollste Teil einer Installation ist, ist es üblich, dass das Verzeichnis „/home“ in einer eigenen Partition oder auf einer separaten Festplatte eingehängt wird. Auf diese Weise können Sie, wenn dem Betriebssystem oder der Partition, auf der es sich befindet, etwas Katastrophales passiert, entweder Ihre Linux-Distribution neu installieren oder zu einer neuen wechseln. Dann können Sie einfach Ihre vorhandene Home-Partition auf „/home“ neu mounten.

Daten über Sie

Ihr Home-Verzeichnis speichert nicht nur Ihre Daten; es speichert auch Informationen über Sie. einschließlich einiger Attribute Ihrer digitalen Identität. In Ihrem „.ssh“-Verzeichnis werden beispielsweise Informationen über Remote-Verbindungen gespeichert, die Sie zu anderen Computern hergestellt haben, sowie alle von Ihnen generierten SSH-Schlüssel.

Andere Systemattribute wie Ihr Kontobenutzername, Ihr Kennwort und Ihre eindeutige Benutzer-ID werden an anderer Stelle in Dateien wie „/etc/passwd“ und „/etc/shadow“ gespeichert. Einige davon kann jeder lesen, andere können nur von Personen gelesen werden, die über Root-Rechte verfügen.

So sieht der Inhalt der Datei „/etc/passwd“ aus:

cat /etc/passwd

Die systemd-homed Änderungen

Die Absicht der systemd-homed-Änderungen besteht darin, ein vollständig tragbares Home-Verzeichnis bereitzustellen, in dem sowohl Ihre Daten als auch die digitale Linux-Identität gespeichert sind. Ihre UID und alle anderen Identifikations- und Authentifizierungsmechanismen werden nur in Ihrem Home-Verzeichnis gespeichert.

Aufgrund ihres „Alle Eier in einem Korb“-Designs werden Home-Verzeichnisse verschlüsselt. Sie werden automatisch entschlüsselt, wenn Sie sich anmelden, und wieder verschlüsselt, wenn Sie sich abmelden. Die bevorzugte Methode ist die Verwendung der Linux Unified Key-Setup (LUKS) Festplattenverschlüsselung. Es stehen jedoch auch andere Schemata zur Verfügung, wie z fscrypt.

EIN JavaScript-Objekt-Notation (JSON)-Benutzerdatensatz speichert alle Ihre Identitätsinformationen in einem Verzeichnis namens „~/.identity“. Es ist kryptografisch mit einem Schlüssel signiert, auf den Sie keinen Einfluss haben.

  So synchronisieren Sie Google Kalender mit dem Linux-Desktop

Das Home-Verzeichnis jeder Person wird auf einem Loopback-Gerät gemountet, ähnlich wie eine Snap-Anwendung gemountet wird. Auf diese Weise erscheint der Verzeichnisbaum innerhalb des Home-Verzeichnisses als nahtloser Teil des Verzeichnisbaums des Betriebssystems. Der Einhängepunkt ist standardmäßig „/home/$USER.homedir“ („$USER“ wird durch den Kontonamen der Person ersetzt).

Was sind die Vorteile?

Da Ihr Home-Verzeichnis zu einer sicheren Kapselung all Ihrer Daten wird, können Sie Ihr Home-Verzeichnis sogar auf einem Wechseldatenträger speichern. Sie können beispielsweise ein USB-Laufwerk verwenden, um es zwischen Ihrem Arbeits- und Heimcomputer oder einem anderen systemd-basierten Computer zu verschieben.

Das meinte Pöttering mit „ein vollständig tragbares Home-Verzeichnis“. Selbst wenn Sie Ihr Home-Verzeichnis nicht auf einem tragbaren Gerät verschieben möchten, werden Upgrades und Migrationen einfacher und die Sicherheit erhöht.

Es entfernt, was er „Sidecar-Datenbanken“ nennt, die Ausschnitte wichtiger Informationen über Sie enthalten, von denen Pöttering glaubt, dass sie zentralisiert werden sollten. Die Dateien „/etc/passwd“ und „/etc/shadow“ enthalten Authentifizierungsinformationen und gehashte Passwörter. Sie enthalten jedoch auch Informationen wie Ihre Standard-Shell, die General Electric Umfassender Betriebsleiter (GECOS)-Feld.

Poettering hat das gesagt Metadaten sollten rationalisiert und in sinnvollen Gruppen innerhalb des JSON-Datensatzes jeder Person in ihrem Home-Verzeichnis gespeichert werden.

Verwalten Ihres neuen $HOME

Der systemd-homed-Dienst wird über das neue homectl . gesteuert Befehlszeilentool.

Es gibt Optionen zum Erstellen von Benutzern und Basisverzeichnissen sowie zum Festlegen von Speichergrenzen für jeden Benutzer. Sie können auch das Passwort festlegen, jemanden aus seinem Konto sperren oder einen Account vollständig löschen. Benutzer können überprüft und ihre JSON-Benutzerdatensätze können auch gelesen werden.

Auch Zeitzonen und andere ortsbezogene Informationen können für jeden Benutzer eingestellt werden. Sie können die Standard-Shell angeben und sogar Umgebungsvariablen festlegen, damit sie sich in einem bestimmten Zustand befinden, wenn sich jemand anmeldet.

Wenn Sie im Verzeichnis „/home“ nachsehen, sehen Sie systemd-homed verwaltete Einträge, die wie folgt aussehen, wobei „.homedir“ an den Benutzernamen angehängt ist:

/home/dave.homedir

Denken Sie daran, dies ist nur ein Mount-Punkt. Der Ort des eigentlichen verschlüsselten Home-Verzeichnisses befindet sich woanders.

Einschränkungen und Probleme

systemd-homed ist nur für die Verwendung auf Benutzerkonten von Menschen bestimmt. Es kann keine Benutzerkonten mit einer UID von weniger als 1.000 verarbeiten. Mit anderen Worten, root, daemon, bin usw. können nicht mit dem neuen Schema verwaltet werden. Es wird immer einen Bedarf an den Standardmethoden zur Verwaltung von Benutzern geben. Daher ist systemd-homed keine globale Lösung.

  So installieren Sie das Arc-Design für Thunderbird unter Linux

Es ist bekannt Fang-22 das muss gelöst werden. Wie bereits erwähnt, wird das Home-Verzeichnis einer Person jedes Mal entschlüsselt, wenn sie sich anmeldet. Wenn jedoch jemand über SSH aus der Ferne auf den Computer zugreift, können die SSH-Schlüssel im Home-Verzeichnis nicht referenziert werden, da das Home-Verzeichnis bis dahin noch verschlüsselt ist Person sich anmeldet. Natürlich benötigt man die SSH-Schlüssel, um sich zu authentifizieren, bevor sie sich anmelden kann.

Dies war ein vom systemd-homed-Team erkanntes Problem, aber wir konnten keine Referenz zu einer Lösung dafür finden. Wir sind sicher, dass sie eine Lösung finden werden; es wäre ein spektakulärer Fall, wenn sie es nicht tun.

Nehmen wir an, jemand transportiert sein Home-Verzeichnis auf einen neuen Computer. Wenn die UID auf dem neuen Rechner bereits von jemand anderem verwendet wird, wird ihm automatisch eine neue UID zugewiesen. Natürlich muss der Besitz aller seiner Dateien der neuen UID zugewiesen werden.

Derzeit wird dies durch eine rekursive, automatische Anwendung von der chown -R-Befehl. Dies wird in Zukunft wahrscheinlich anders gehandhabt, wenn ein eleganteres Schema entwickelt wird. Dieser plumpe Ansatz berücksichtigt nicht die Daemons und Prozesse, die als andere Benutzer ausgeführt werden.

Wann passiert das?

Dies geschieht jetzt. Die Codeänderungen waren eingereicht am 20. Januar 2020, und sie waren in Build 245 von systemd enthalten, das im April 2020 mit Ubuntu 20.04 ausgeliefert wurde.

Geben Sie Folgendes ein, um zu überprüfen, welche Version Sie haben:

systemd --version

Der Befehl homectl ist jedoch noch nicht vorhanden. Ubuntu 20.04 verwendet ein traditionelles /home-Verzeichnis und verwendet nicht systemd-homed.

Natürlich liegt es an den einzelnen Distributionen zu entscheiden, wann sie systemd-homed und homectl einbinden und unterstützen.

Es ist also nicht nötig, dass jemand in den Modus „Heugabeln und Fackeln brennen“ wechselt. Da die Standardmethoden zum Verwalten von Benutzern und Basisverzeichnissen beibehalten werden, haben wir alle weiterhin die Wahl.