GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwalten Sie die Home-Verzeichnisse von Linux-Benutzern mit systemd-homed

Das gesamte Systemd-Konzept und die Implementierung haben viele Änderungen eingeführt, seit es damit begann, die alten SystemV-Startup- und Init-Tools zu ersetzen. Im Laufe der Zeit wurde systemd auf viele andere Segmente der Linux-Umgebung ausgedehnt.

Ein relativ neuer Dienst, systemd-homed, erweitert die Reichweite von systemd auf die Verwaltung der Home-Verzeichnisse der Benutzer. Die Funktion erzwingt nur den Zugriff durch menschliche Benutzer und schränkt Systembenutzer im Bereich der Benutzer-ID (UID) zwischen 0 und 999 ein. Ich unterstütze den systemd-Plan, die Welt zu übernehmen, aber ich habe mich gefragt, ob dies ein bisschen übertrieben ist. Dann habe ich etwas recherchiert.

Was ist systemd-homed?

Der systemd-homed-Dienst unterstützt die Portabilität von Benutzerkonten unabhängig vom zugrunde liegenden Computersystem. Ein praktisches Beispiel ist, Ihr Home-Verzeichnis auf einem USB-Stick mit sich herumzutragen und es an jedes System anzuschließen, das es automatisch erkennt und einbindet. Laut Lennart Poettering, dem leitenden Entwickler von systemd, sollte der Zugriff auf das Home-Verzeichnis eines Benutzers niemandem gestattet werden, es sei denn, der Benutzer ist angemeldet. Der systemd-homed-Dienst soll die Sicherheit erhöhen, insbesondere für mobile Geräte wie Laptops. Es scheint auch ein Tool zu sein, das mit Containern nützlich sein könnte.

Dieses Ziel kann nur erreicht werden, wenn das Home-Verzeichnis alle Benutzer-Metadaten enthält. Die Datei ~/.identity speichert Benutzerkontoinformationen, auf die systemd-homed nur zugreifen kann, wenn das Passwort eingegeben wird. Diese Datei enthält alle Kontometadaten, einschließlich allem, was Linux über Sie wissen muss, sodass das Home-Verzeichnis auf jeden Linux-Host portierbar ist, der systemd-homed verwendet. Dieser Ansatz verhindert, dass Sie auf jedem System, das Sie möglicherweise verwenden müssen, ein Konto mit einem gespeicherten Passwort haben.

Das Home-Verzeichnis kann auch mit Ihrem Passwort verschlüsselt werden. Unter systemd-homed speichert Ihr Home-Verzeichnis Ihr Passwort mit all Ihren Benutzermetadaten. Ihr verschlüsseltes Passwort wird nirgendwo anders gespeichert und kann daher von niemandem abgerufen werden. Obwohl die Methoden zum Verschlüsseln und Speichern von Passwörtern für moderne Linux-Systeme als unzerbrechlich gelten, besteht der beste Schutz darin, zu verhindern, dass überhaupt darauf zugegriffen wird. Annahmen über die Unangreifbarkeit ihrer Sicherheit haben viele in den Ruin geführt.

Dieser Dienst ist hauptsächlich für die Verwendung mit tragbaren Geräten wie Laptops vorgesehen. Poettering erklärt:„Homed ist in erster Linie für Client-Rechner gedacht, d. h. Laptops und damit Maschinen, auf die Sie normalerweise von viel mehr als ssh ssh, wenn Sie meinen, was ich meine.“ Es ist nicht für die Verwendung auf Servern oder Workstations vorgesehen, die über Kabel mit einem einzigen Standort verbunden oder in einem Serverraum eingeschlossen sind.

Der systemd-homed-Dienst ist bei Neuinstallationen standardmäßig aktiviert – zumindest für Fedora, die von mir verwendete Distribution. Diese Konfiguration ist beabsichtigt, und ich erwarte nicht, dass sich das ändert. Benutzerkonten sind auf Systemen mit bestehenden Dateisystemen, Upgrades oder Neuinstallationen, die die bestehenden Partitionen und logischen Volumes beibehalten, nicht betroffen oder werden in irgendeiner Weise geändert.

Kontrollierte Benutzer erstellen

Herkömmliche Tools wie useradd Erstellen Sie Konten und Home-Verzeichnisse, die systemd-homed nicht verwaltet. Wenn Sie also weiterhin die herkömmlichen Benutzerverwaltungstools verwenden, werden die Home-Verzeichnisse in Ihren Home-Verzeichnissen nicht von systemd-homed verwaltet. Dies gilt auch für das Nicht-Root-Benutzerkonto, das während einer Neuinstallation erstellt wird.

Der homectl-Befehl

Die homectl Der Befehl erstellt Benutzerkonten, die systemd-homed verwaltet. Mit homectl Der Befehl zum Erstellen eines neuen Kontos generiert die Metadaten, die erforderlich sind, um das Home-Verzeichnis portabel zu machen.

Die homectl command Manpage enthält eine gute Erklärung der Ziele und Funktionen des systemd-homed-Dienstes. Lesen Sie jedoch die homectl Manpage ist ziemlich interessant, besonders der Beispielabschnitt. Von den fünf Beispielen zeigen drei, wie Benutzerkonten mit bestimmten Beschränkungen erstellt werden, wie z. B. einer maximalen Anzahl gleichzeitiger Prozesse oder einer maximalen Menge an Speicherplatz.

In einem Nicht-Homectl-Setup wird die /etc/security/limits.conf Datei legt diese Grenzen fest. Der einzige Vorteil, den ich darin sehe, ist, dass es einen Benutzer hinzufügt und die Grenzen mit einem einzigen Befehl anwendet. Bei der traditionellen Methode muss der Systemadministrator die limits.conf konfigurieren Datei manuell.

Einschränkungen

Die einzige bedeutende Einschränkung, die mir bekannt ist, besteht darin, dass es nicht möglich ist, mit OpenSSH remote auf ein Benutzer-Home-Verzeichnis zuzugreifen. Diese Einschränkung ist auf die derzeitige Unfähigkeit von PAM zurückzuführen, Zugriff auf ein Home-Verzeichnis bereitzustellen, das von homectl verwaltet wird . Poettering scheint zweifelhaft, dass dies überwunden werden kann. Dieses Problem würde mich daran hindern, systemd-homed für mein Home-Verzeichnis auf meiner primären Workstation oder sogar meinem Laptop zu verwenden. Ich melde mich normalerweise mehrmals täglich per SSH bei beiden Computern an, daher ist dies ein Showstopper für mich.

Die andere Sorge, die ich sehe, ist, dass Sie immer noch einen Linux-Computer für die Verwendung mit einem USB-Stick mit Ihrem Home-Verzeichnis darauf benötigen, und auf diesem Computer muss systemd-homed laufen.

Es ist optional

Sie müssen es jedoch nicht verwenden. Ich plane, weiterhin die traditionellen Tools für die Benutzerverwaltung zu verwenden, um meinen Arbeitsablauf zu unterstützen. Die Standardeinstellung für die wenigen Distributionen, die ich ein wenig kenne, einschließlich Fedora, ist, dass der systemd-homed-Dienst aktiviert ist und ausgeführt wird. Sie können den systemd-homed-Dienst deaktivieren und stoppen, ohne dass dies Auswirkungen auf herkömmliche Benutzerkonten hat.

Abschließende Gedanken

Sysadmins können den systemd-homed-Dienst für eine sichere Form der Verwaltung der Home-Verzeichnisse von Roaming-Benutzern verwenden. Es ist auf tragbaren Geräten wie Laptops nützlich und kann besonders nützlich für Benutzer sein, die einen USB-Stick mit sich führen, der nur ihre Home-Verzeichnisse enthält, um ihn an jeden geeigneten Linux-Computer anzuschließen.

Die primäre Einschränkung bei der Verwendung von systemd-homed besteht darin, dass es unmöglich ist, sich mit SSH aus der Ferne anzumelden. Und obwohl systemd-homed standardmäßig aktiviert ist, wirkt es sich nicht auf Home-Verzeichnisse aus, die mit useradd erstellt wurden Befehl. Ich muss darauf hinweisen, dass systemd-homed – wie viele systemd-Tools – optional ist. Also habe ich den Dienst einfach angehalten und deaktiviert.

Wenn ich mein Home-Verzeichnis in einem Paket kleiner als mein Laptop mitnehmen muss, kann ich einfach einen Live-USB mit dauerhaftem Speicher verwenden.

Ressourcen

  • https://systemd.io/HOME_DIRECTORY/
  • https://www.freedesktop.org/software/systemd/man/homectl.html
  • https://www.freedesktop.org/software/systemd/man/systemd-homed.service.html
  • https://wiki.archlinux.org/title/Systemd-homed

Linux
  1. So löschen Sie Benutzerkonten mit Home-Verzeichnis in Linux

  2. So verwalten Sie Benutzer mit useradd unter Linux

  3. So arbeiten Sie mit Benutzern und Gruppen in Linux

  4. Installieren Sie WordPress unter Linux mit Apache

  5. Erlauben Sie einem Benutzer, die Home-Verzeichnisse einiger anderer Benutzer zu lesen

Erste Schritte mit GIT unter Linux

Benutzer auflisten unter Linux anhand von Beispielen erklärt

Löschen Sie Benutzer in Linux mit dem Userdel-Befehl

Hinzufügen neuer Benutzer in Linux mit dem Useradd-Befehl

So erstellen und verwalten Sie neue Benutzer unter Linux

So verwalten Sie Speicher mit GParted Linux