PAM_SYSTEMD_HOME(8)

BEZEICHNUNG
pam_systemd_home - Mittels systemd-homed.service Benutzer authentifizieren und Home-Verzeichnisse einhängen

ÜBERSICHT

pam_systemd_home.so

BESCHREIBUNG

pam_systemd_home stellt sicher, dass durch systemd-homed.service(8) verwaltete Home-Verzeichnisse bei der Benutzeranmeldung automatisch aktiviert (eingehängt) und bei der Beendigung der letzten Sitzung des Benutzers deaktiviert (ausgehängt) werden. Für solche Benutzer stellt es auch eine Authentifizierung (wenn benutzerbezogene Plattenverschlüsselung verwandt wird, wird der Platten-Verschlüsselungsschlüssel aus den Authentifizierungs-Zugangsberechtigungen abgeleitet, die beim Anmelden bereitgestellt wurden) und Kontenverwaltung bereit (der in die Home-Speicherung eingebettete JSON-Benutzerdatensatz[1] enthält Kontendetails) und implementiert die Aktualisierung des Verschlüsselungspassworts (das auch für die Benutzer-Authentifizierung verwandt wird).

OPTIONEN

Die folgenden Optionen werden verstanden:

suspend=
    Akzeptiert ein logisches Argument. Falls true, wird das Home-Verzeichnis des Benutzers bei der Systemsuspendierung automatisch suspendiert; falls false, wird es aktiv bleiben. Automatische Suspendierung des Home-Verzeichnisses erhöht die Sicherheit deutlich, da geheimes Schlüsselmaterial automatisch aus dem Speicher entfernt wird, bevor das System in den Schlafzustand versetzt wird und neues erlangt werden muss (mittels Benutzerauthentifizierung), wenn des System aus der Suspendierung zurückkehrt. Es wird empfohlen, diesen Parameter für alle PAM-Anwendungen zu setzen, die automatische Reauthentifizierung beim Systemaufwachen unterstützen. Falls mehrere Sitzungen des gleichen Benutzers parallel offen sind, wird des Home-Verzeichnis des Benutzers nicht suspendiert, solange mindestens eine dieser Sitzungen den Parameter nicht auf »on« setzt. Standardmäßig aus.

    Beachten Sie, dass TTY-Anmeldungen im Allgemeinen beim Aufwachen keine erneute Authentifizierung unterstützen. Die erneute Authentifizierung beim Aufwachen des Systems ist ein Konzept, das primär von graphischen Umgebungen unterstützt wird, bei denen beim Schlafenlegen automatisch Sperrbildschirme hochgebracht werden. Dies bedeutet, dass das Home-Verzeichnis beim Suspendieren aufgrund der oben beschriebenen Logik nicht gesperrt wird, wenn der Benutzer parallel graphische Anmeldungen, die die benötigte erneute Authentifizierung unterstützen, und Konsole-Anmeldungen, bei denen dies nicht der Fall ist, verwendet. Trotzdem ist es möglich, dieses Feld auch für TTY-Anmeldungen zu verwenden und die Tatsache zu ignorieren, dass TTY-Anmeldungen den Mechanismus der erneuten Authentifizierung nicht unterstützen. In diesem Fall erscheint die TTY-Sitzung aufgehangen, bis der Benutzer sich in einem anderen virtuellen Terminal anmeldet (unabhängig davon, ob dies eine andere TTY-Sitzung oder graphisch erfolgt), wodurch das Home-Verzeichnis wieder aufgeweckt wird und die Blockade der ursprünglichen TTY-Sitzung aufgehoben wird. (Beachten Sie, dass das Fehlen von Bildschirmsperren bei TTY-Sitzungen bedeutet, dass Tastenanschläge weiterhin in die Warteschlange gestellt werden können, obwohl die TTY-Sitzung aufgehangen erscheint, und die bestehenden Bildschirminhalte ohne erneute Authentifizierung gelesen werden können; diese Einschränkung steht nicht in Bezug zu der Verwaltung des Home-Verzeichnisses durch pam_systemd_home und systemd-homed.service.)

    Es wird für alle Sitzungen nachdrücklich empfohlen, diese Option einzuschalten, aber nur, falls der Dienst, der diese Sitzungen verwaltet, die vorab erwähnte erneute Authentifizierung korrekt implementiert. Beachten Sie, dass die erneute Authentifizierung durch eine Komponente stattfinden muss, die außerhalb des Kontextes des Benutzers läuft, so dass sie keinen Zugriff auf das Home-Verzeichnis für diese Aktion benötigt. Traditionell implementieren die meisten Desktop-Umgebungen Bildschirmschoner nicht auf diese Art und müssen entsprechend aktualisiert werden.

    Diese Einstellung kann auch mittels der Umgebungsvariable $SYSTEMD_HOME_SUSPEND (siehe unten) gesteuert werden, die pam_systemd_home während der Initialisierung liest und für Sitzungen setzt. Falls sowohl die Umgebungsvariable gesetzt als auch der Modulparameter angegeben ist, hat der Modulparameter Vorrang.

    Hinzugefügt in Version 245.

debug[=]
    Akzeptiert ein optionales logisches Argument. Falls »yes« oder ohne Argument, wird das Modul Fehlersuchinformationen beim Betrieb protokollieren.

    Hinzugefügt in Version 245.

HOME-BEREICH-UNTERSTÜTZUNG

Durch systemd-homed.service(8) verwaltete Home-Verzeichnisse unterstützen mehrere Home-»Bereiche«. Dies sind zusätzliche, sekundäre Home-Verzeichnisse des Benutzers innerhalb des primären Home-Verzeichnisses. Beispiel: Wenn ein Benutzer »lennart« mit einem Home-Verzeichnis /home/lennart zum Anmeldezeitpunkt »lennart%versuch1« als Kontonamen angibt, dann wird pam_systemd_home eine Anmeldung von »lennart« durchführen, aber sicherstellen, dass die Variable $HOME auf /home/lennart/Areas/versuch1 statt auf das gewöhnliche /home/lennart gesetzt ist.

Dies ist besonders nützlich, wenn das gleiche Home-Verzeichnis in verschiedenen Systemen gleichzeitig verwandt wird (beispielsweise auf einem Hauptsystem und in einer VM) und der Wunsch besteht, das Home-Verzeichnis zu einem großen Anteil gemeinsam zu benutzen, aber dennoch getrennte Sitzungskonfiguration zu verwenden.

Beachten Sie, dass der Standard-Bereich für die Anmeldung auch im Benutzer-Datensatz aufgezeichnet sein kann und dass er unter den Konfigurationsparametern von pam_systemd(8) festgelegt worden sein kann. Allerdings setzt ein explizit bei der Anmeldung (mittels des oben beschriebenen »%«) angegebener Bereich solche Vorgaben außer Kraft. Beachten Sie auch, dass ein einfaches Anhängen von »%« an das Konto zum Anmeldezeitpunkt (d.h. die Angabe eines leeren Bereichs) die Auswirkung hat, dass die Anmeldung in das primäre Home-Verzeichnis erfolgt und alle Vorgabe-Bereiche, die über den Benutzerdatensatz oder PAM konfiguriert sind, außer Kraft gesetzt werden.

Beachten Sie, dass nicht alle Anmeldemechanismen zu der »%«-Syntax kompatibel sind. Insbesondere ssh(8) ist es nicht.

Beachten Sie, dass das Bereichs-Verzeichnis existieren muss, damit die Anmeldung für die Bereichsangabe berücksichtigt wird. Falls während der Anmeldung ein Bereich über die »%«-Logik (oder einen der anderen erwähnten Mechanismen) angegeben wird und das Verzeichnis nicht existiert, dann wird die Anfrage ignoriert und der Benutzer wird stattdessen im primären Home-Verzeichnis angemeldet.

Typischerweise richten Sie zuerst den Home-Bereich wie folgt ein, um ihn zu verwenden:

    lennart@zeta$ mkdir -p ~/Areas
    lennart@zeta$ cp -av /etc/skel ~/Areas/versuch1

Dies sollte ausreichen, um sich in den neu erstellten Bereich anzumelden, entweder über ein normales Terminal (mittels »lennart%versuch1«, wenn der Benutzername abgefragt wird), oder mittels run0(1):

    lennart@zeta$ run0 --area=versuch1

BEREITGESTELLTE MODULTYPEN

Dieses Modul implementiert alle vier PAM-Aktionen: auth (Authentifizierung erlauben, um die verschlüsselten Daten zu benutzen), account (da Benutzer mit systemd-homed.service-Benutzerkonten in einem JSON-Benutzerdatensatz[1] beschrieben und detaillierter konfiguriert werden können, als in der traditionellen Linux-Benutzerdatenbank), session (da Benutzersitzungen nachverfolgt werden müssen, um automatische Freigaben zu implementieren, wenn die letzte Sitzung eines Benutzers verschwunden ist), password (um das Verschlüsselungspasswort über PAM zu ändern – auch für die Authentifizierung verwandt).

UMGEBUNGSVARIABLEN

Die folgenden Umgebungsvariablen werden durch das Modul initialisiert und stehen den Prozessen der Sitzung des Benutzers zur Verfügung:

$SYSTEMD_HOME=1
    Zeigt an, dass das Home-Verzeichnis des Benutzers durch systemd-homed.service verwaltet wird.

    Hinzugefügt in Version 245.

$SYSTEMD_HOME_SUSPEND=
    Zeigt an, ob die Sitzung mit dem Suspendierungs-Mechanismus aktiviert oder deaktiviert registriert wurde (siehe oben). Der Wert der Variablen ist entweder »0« oder »1«. Beachten Sie, dass das Modul sowohl bei der Initialisierung den Wert liest und ihn dann auch für Sitzungen setzt.

    Hinzugefügt in Version 246.

BEISPIEL

Es folgt ein Beispiel-PAM-Konfigurationsfragment, das die Verwendung von durch systemd-homed.service verwalteten Benutzern bei der Anmeldung erlaubt:

    #%PAM-1.0
        -auth     [success=done authtok_err=bad perm_denied=bad maxtries=bad default=ignore] pam_systemd_home.so
    auth      sufficient pam_unix.so
    auth      required   pam_deny.so
    account   required   pam_nologin.so
    -account  [success=done authtok_expired=bad new_authtok_reqd=bad maxtries=bad acct_expired=bad default=ignore] pam_systemd_home.so
    account   required   pam_unix.so
    -password sufficient pam_systemd_home.so
    password  sufficient pam_unix.so sha512 shadow try_first_pass
    password  required   pam_deny.so
    -session  optional   pam_keyinit.so revoke
    -session  optional   pam_loginuid.so
    -session  optional   pam_systemd_home.so
    -session  optional   pam_systemd.so
    session   required   pam_unix.so

SIEHE AUCH

systemd(1), systemd-homed.service(8), homed.conf(5), homectl(1), pam_systemd(8), pam.conf(5), pam.d(5), pam(8)

ANMERKUNGEN

1.  JSON-Benutzerdatensatz
    https://systemd.io/USER_RECORD/

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.