plucky (8) pam_systemd.8.gz

Provided by: manpages-de_4.25.1-1_all bug

BEZEICHNUNG

       pam_systemd - Benutzersitzungen beim Systemd-Anmeldeverwalter registrieren

ÜBERSICHT

       pam_systemd.so

BESCHREIBUNG

       pam_systemd registriert Benutzersitzungen beim Systemd-Anmeldeverwalter systemd-logind.service(8) und
       damit in der Systemd-Control-Gruppen-Hierarchie.

       Das Modul wendet auch verschiedene Ressourcenverwaltungs- und Laufzeitparameter auf die neue Sitzung an,
       wie dies in dem JSON-Benutzerdatensätze[1] des Benutzers, falls dieser definiert ist, konfiguriert wurde.

       Bei der Anmeldung stellt dieses Modul in Zusammenarbeit mit systemd-logind.service Folgendes sicher:

        1. Falls es noch nicht existiert, wird das Benutzerlaufzeitverzeichnis /run/user/$UID entweder erstellt
           oder als neues »tmpfs«-Dateisystem mit Quota angewandt und dessen Eigentümerschaft auf den sich
           anmeldenden Benutzer geändert.

        2. Die Umgebungsvariable $XDG_SESSION_ID wird initialisiert. Falls Auditierung verfügbar ist und
           pam_loginuid.so vor diesem Modul ausgeführt wurde (was nachdrücklich empfohlen wird), wird die
           Variable aus der Auditierungssitzungskennung (/proc/self/sessionid) initialisiert. Andernfalls wird
           ein unabhängiger Sitzungszähler verwandt.

        3. Für die Sitzung wird eine neue Systemd-Bereichs-Unit erstellt. Falls dies die erste parallele Sitzung
           des Benutzer ist, wird automatisch eine implizite benutzerbezogene Scheiben-Unit unterhalb user.slice
           erstellt und die Bereichs-Unit dorthinein gelegt. Es wird eine Instanz des Systemdienstes
           user@.service, der als Systemd-Benutzerverwalterinstanz läuft, gestartet.

        4. Die Umgebungsvariablen »$TZ«, »$EMAIL« und »$LANG« werden für den Benutzer basierend auf den
           entsprechenden Daten aus dem JSON-Benutzerdatensatz (falls dieser definiert ist), konfiguriert.
           Desweiteren werden alle Umgebungsvariablen, die in dem Benutzerdatensatz explizit konfiguriert sind,
           importiert und die Umask, die Nice-Stufe sowie die Ressourcenbegrenzungen initialisiert.

       Bei der Abmeldung stellt dieses Modul Folgendes sicher:

        1. Falls in logind.conf(5) (KillUserProcesses=) aktiviert, werden alle Prozesse der Sitzung beendet.
           Falls die letzte parallele Sitzung eines Benutzers endet, wird auch die Systemd-Instanz sowie die
           Scheiben-Unit des Benutzer beendet.

        2. Falls die letzte parallele Benutzersitzung endet, wird auch das Benutzerlaufzeitverzeichnis und alle
           seine Inhalte entfernt.

       Falls das System nicht mit Systemd als Init-System hochgefahren wurde, wird dieses Modul nichts machen
       und sofort PAM_SUCCESS zurückliefern.

OPTIONEN

       Die folgenden Optionen werden verstanden:

       class=
           Akzeptiert ein Zeichenkettenargument, das die Sitzungsklasse setzt. Die Umgebungsvariable
           XDG_SESSION_CLASS (siehe unten) hat Vorrang. Siehe sd_session_get_class(3) für eine Möglichkeit, die
           Klasse einer Sitzung abzufragen. Die folgenden Sitzungsklassen sind definiert:

           Tabelle 1. Sitzungsklassen
           ┌─────────────────┬───────────────────────────────────────┐
           │NameErklärung                             │
           ├─────────────────┼───────────────────────────────────────┤
           │user             │ Eine reguläre, interaktive            │
           │                 │ Benutzersitzung. Dies ist die         │
           │                 │ Standardklasse für Sitzungen, bei     │
           │                 │ denen ein TTY- oder X-Display zum     │
           │                 │ Registrierungszeitpunkt der Sitzung   │
           │                 │ bekannt ist.                          │
           ├─────────────────┼───────────────────────────────────────┤
           │user-early       │ Ähnlich zu »user«, aber Sitzungen     │
           │                 │ dieser Klasse werden nicht nach       │
           │                 │ systemd-user-sessions.service(8)      │
           │                 │ sortiert, d.h. sie könnten gestartet  │
           │                 │ werden, bevor das Etablieren          │
           │                 │ regulärer Sitzungen erlaubt ist.      │
           │                 │ Diese Sitzungsklasse ist für          │
           │                 │ Sitzungen des Benutzers Root die      │
           │                 │ Vorgabe, da diese andernfalls für die │
           │                 │ Klasse user qualifiziert wären, siehe │
           │                 │ oben. (Hinzugefügt in v256.)          │
           ├─────────────────┼───────────────────────────────────────┤
           │user-incomplete  │ Ähnlich zu »user«, aber für           │
           │                 │ Sitzungen, die noch nicht vollständig │
           │                 │ eingerichtet sind, d.h. die kein      │
           │                 │ eingehängtes Home-Verzeichnis oder    │
           │                 │ ähnliches haben. Dies wird von        │
           │                 │ systemd-homed.service(8) verwandt, um │
           │                 │ das Anmelden von Benutzern via ssh(1) │
           │                 │ zu ermöglichen, bevor ihr             │
           │                 │ Home-Verzeichnis eingehängt wird und  │
           │                 │ somit das Einhängen verzögert, bis    │
           │                 │ der Benutzer sein Entsperrpasswort    │
           │                 │ bereitgestellt hat. Sitzungen aus     │
           │                 │ dieser Klasse werden zu der regulären │
           │                 │ Klasse user angehoben, sobald das     │
           │                 │ Home-Verzeichnis aktiviert wurde.     │
           ├─────────────────┼───────────────────────────────────────┤
           │greeter          │ Ähnlich zu »user«, aber für           │
           │                 │ Sitzungen, die vorübergehend vom      │
           │                 │ Display-Manger gestartet werden und   │
           │                 │ die den Benutzer nach seinen          │
           │                 │ Anmelde-Zugangsberechtigungen fragen. │
           ├─────────────────┼───────────────────────────────────────┤
           │lock-screen      │ Ähnlich zu »user«, aber für           │
           │                 │ Sitzungen, die vorübergehend vom      │
           │                 │ Display-Manger gestartet werden und   │
           │                 │ die einen Sperrbildschirm anzeigen,   │
           │                 │ der zum Entsperren gesperrter         │
           │                 │ Benutzerkonten oder -sitzungen        │
           │                 │ verwandt werden kann.                 │
           ├─────────────────┼───────────────────────────────────────┤
           │background       │ Wird für Sitzungen im Hintergrund     │
           │                 │ verwandt, wie solche, die cron(8) und │
           │                 │ ähnliche Werkzeuge aufrufen. Dies ist │
           │                 │ die Standardklasse für Sitzungen, für │
           │                 │ die beim                              │
           │                 │ Sitzungsregistrierungszeitpunkt kein  │
           │                 │ TTY oder X-Display bekannt ist.       │
           ├─────────────────┼───────────────────────────────────────┤
           │background-light │ Ähnlich zu »background«, aber         │
           │                 │ Sitzungen dieser Klasse werden nicht  │
           │                 │ user@.service(5) des Benutzers        │
           │                 │ reinziehen, und daher laufen          │
           │                 │ möglicherweise keine Dienste des      │
           │                 │ Benutzers. (Hinzugefügt in v256.)     │
           ├─────────────────┼───────────────────────────────────────┤
           │manager          │ Der Dienst user@.service(5) des       │
           │                 │ Benutzers wird unter dieser           │
           │                 │ Sitzungsklasse registriert.           │
           │                 │ (Hinzugefügt in v256.)                │
           ├─────────────────┼───────────────────────────────────────┤
           │manager-early    │ Ähnlich wie »manager«, aber für den   │
           │                 │ Benutzer root. Vergleichen Sie die    │
           │                 │ Situation bei user und user-early.    │
           │                 │ (Hinzugefügt in v256.)                │
           └─────────────────┴───────────────────────────────────────┘
           Hinzugefügt in Version 197.

       type=
           Akzeptiert ein Zeichenkettenargument, das den Sitzungstyp setzt. Die Umgebungsvariable
           XDG_SESSION_TYPE (siehe unten) hat Vorrang. Entweder »unspecified«, »tty«, »x11«, »wayland«, »mir«
           oder »web«. Siehe sd_session_get_type(3) für Details über den Sitzungstyp.

           Hinzugefügt in Version 209.

       desktop=
           Akzeptiert eine einzelne, kurze Identifikationszeichenkette für die Desktop-Umgebung. Die
           Umgebungsvariable XDG_SESSION_DESKTOP (siehe unten) hat Vorrang. Dies kann zum Hinweis auf die
           eingesetzte Desktop-Sitzung verwandt werden, auf die dies zutrifft und falls die Information
           verfügbar ist. Beispielsweise »GNOME« oder »KDE«. Es wird empfohlen, die gleichen Kennzeichner und
           die gleiche Groß-/Kleinschreibung wie für $XDG_CURRENT_DESKTOP, wie dies durch die
           Desktop-Eintragsspezifikation[2] festgelegt ist, zu verwenden. (Beachten Sie allerdings, dass die
           Option nur einen einzelnen Eintrag und keine durch Doppelpunkt getrennte Liste wie
           $XDG_CURRENT_DESKTOP akzeptiert.) Siehe sd_session_get_desktop(3) für weitere Details.

           Hinzugefügt in Version 240.

       default-capability-bounding-set=, default-capability-ambient-set=
           Akzeptiert eine Kommata-getrennte Liste von Prozess-Capabilitys (z.B. CAP_WAKE_ALARM,
           CAP_BLOCK_SUSPEND, …), die für aufgerufen Sitzungen des Prozesses gesetzt werden sollen, falls der
           Benutzerdatensatz nicht direkt angemessene Gruppen von Capabilitys setzt. Siehe capabilities(7) für
           Details zum Capabilitys-Konzept. Falls nicht angegeben, verbleibt die standardmäßige Begrenzungsmenge
           unverändert (d.h. sie enthält die vollständige Menge der Capabilitys). Die Standard-Umgebungsmenge
           wird auf CAP_WAKE_ALARM für reguläre Benutzer gesetzt, falls die PAM-Sitzung einem lokalen Sitz
           zugeordnet ist oder falls sie für den Dienst »systemd-user« aufgerufen wird. Andernfalls ist die
           Vorgabe die leere Menge.

           Hinzugefügt in Version 254.

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

BEREITGESTELLTE MODULTYPEN

       Es wird nur session bereitgestellt.

UMGEBUNGSVARIABLEN

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

       $XDG_SESSION_ID
           Ein kurzer, zur Verwendung in Dateinamen geeigneter Sitzungskennzeichner. Die Zeichenkette selbst
           sollte als opak betrachtet werden, obwohl es oft nur die durch /proc/self/sessionid gemeldete
           Auditsitzungskennung ist. Jede Kennung wird während der Maschinenlaufzeit nur einmal vergeben. Sie
           kann daher zur eindeutigen Kennzeichnung von Dateien oder anderer Ressourcen während dieser Sitzung
           verwandt werden. Kombinieren Sie diese Kennzeichnung mit der durch sd_id128_get_boot(3)
           zurückgelieferten Systemstartkennzeichnung, um eine global eindeutige Kennzeichnung zu erhalten.

       $XDG_RUNTIME_DIR
           Pfad zu einem für den Benutzer privaten und beschreibbaren Verzeichnis, das nur während der
           Anmeldezeit des Benutzers an der Maschine existiert. Es wird beim erstmaligen Anmelden eines
           Benutzers an der Maschine automatisch erstellt und bei der letzten Abmeldung entfernt. Falls der
           Benutzer sich zweimal zur gleichen Zeit anmeldet, werden beide Sitzungen die gleiche $XDG_RUNTIME_DIR
           und die gleichen Inhalte sehen. Falls sich ein Benutzer einmal anmeldet und dann wieder abmeldet und
           wieder anmeldet, werden die Inhalte des Verzeichnisses dazwischen verloren gehen; Anwendungen sollten
           sich aber nicht auf dieses Verhalten verlassen und müssen mit verbliebenen alten Dateien umgehen
           können. Um sitzungsbezogene Daten in diesem Verzeichnis zu speichern, sollte der Benutzer den Wert
           von $XDG_SESSION_ID im Dateinamen einschließen. Dieses Verzeichnis muss für Laufzeitsystemobjekte wie
           AF_UNIX-Sockets, FIFOs, PID-Dateien und Ähnliches verwandt werden. Es wird garantiert, dass dieses
           Verzeichnis lokal ist und die größtmögliche Menge an Dateisystemfunktionalitäten bereitstellt, die
           das Betriebssystem anbietet. Für weitere Details siehe die XDG-Basisverzeichnisspezifikation[3].
           $XDG_RUNTIME_DIR wird nicht gesetzt, falls der aktuelle Benutzer nicht der ursprüngliche Benutzer der
           Sitzung ist.

       $TZ, $EMAIL, $LANG
           Falls für den anmeldenden Benutzer ein JSON-Benutzerdatensatz bekannt ist, werden diese Variablen aus
           den entsprechenden Einträgen in dem Datensatz initialisiert.

           Hinzugefügt in Version 245.

       $SHELL_PROMPT_PREFIX, $SHELL_PROMPT_SUFFIX, $SHELL_WELCOME
           Diese Umgebungsvariablen werden von den Dienste-Zugangsberechtigungen »shell.prompt.prefix«,
           »shell.prompt.suffix« und »shell.welcome« falls gesetzt initialisiert. Sie werden an den aufgerufenen
           Diensteprozess übergeben, wo sie in jede Shell-Eingabeaufforderung importiert werden (insbesondere
           wird $SHELL_PROMPT_PREFIX als Präfix für $PS1 und $SHELL_PROMPT_SUFFIX als Suffix hinzugefügt) oder
           auf dem Bildschirm ausgegeben, wenn sich eine Shell erstmalig initialisiert.

           Hinzugefügt in Version 257.

       Die folgenden Umgebungsvariablen werden vom Modul gelesen und können vom PAM-Dienst verwandt werden, um
       Metadaten an das Modul zu übergeben. Falls diese Variablen nicht beim Aufruf des PAM-Moduls gesetzt sind,
       aber anderweitig bestimmt werden können, werden sie vom Modul gesetzt, so dass diese Variablen für die
       Sitzung und Anwendungen initialisiert sind, falls sie überhaupt bekannt sind.

       $XDG_SESSION_TYPE
           Der Sitzungstyp. Dies kann anstelle von type= auf der Modulparameterzeile verwandt werden und wird
           normalerweise bevorzugt.

           Hinzugefügt in Version 209.

       $XDG_SESSION_CLASS
           Die Sitzungsklasse. Dies kann anstelle von class= auf der Modulparameterzeile verwandt werden und
           wird normalerweise bevorzugt.

           Hinzugefügt in Version 209.

       $XDG_SESSION_DESKTOP
           Der Desktop-Kennzeichner. Dieser kann statt desktop= auf der Modulparameterzeile verwandt werden und
           wird normalerweise bevorzugt.

           Hinzugefügt in Version 209.

       $XDG_SEAT
           Der Name des Sitzes, für den die Sitzung registriert werden soll, falls vorhanden.

           Hinzugefügt in Version 209.

       $XDG_VTNR
           Die Nummer des VTs, für das die Sitzung registriert werden soll, falls vorhanden. (Gilt nur für Sitze
           mit einem verfügbaren VT, wie »seat0«.)

           Hinzugefügt in Version 209.

       pam_systemd wird $XDG_SEAT und $XDG_VTNR basierend auf der Variablen $DISPLAY (falls letztere gesetzt
       ist) initialisieren, falls sie nicht gesetzt sind.

SITZUNGSBEGRENZUNGEN

       PAM-Module, die früher im Stapel, d.h. vor pam_systemd.so kommen, können mittels PAM-Kontextobjekten
       Sitzungsbereichsbegrenzungen setzen. Die Daten für diese Objekte werden als NUL-begrenzte C-Zeichenketten
       bereitgestellt und direkt in die zugehörigen Unit-Ressourcensteuerungsdirektiven eingeblendet. Beachten
       Sie, dass diese Begrenzungen für individuelle Sitzungen des Benutzers gelten, sie gelten nicht für alle
       Benutzerprozesse zusammengenommen. Insbesondere wird die benutzerbezogene user@.service-Unit-Instanz, die
       innerhalb des systemd --user-Verwalterprozesses und seiner Kinder läuft, außerhalb jeglicher Sitzung
       nachverfolgt, von allen Benutzersitzungen gemeinsam benutzt und ist nicht von diesen Begrenzungen
       betroffen.

       Siehe systemd.resource-control(5) für weitere Informationen über die Ressourcen. Siehe auch
       pam_set_data(3) für zusätzliche Informationen über die Arten, Kontextobjekte zu setzen.

       systemd.memory_max=
           Setzt Unit MemoryMax=.

           Hinzugefügt in Version 239.

       systemd.tasks_max=
           Setzt Unit TasksMax=.

           Hinzugefügt in Version 239.

       systemd.cpu_weight=
           Setzt Unit CPUWeight=.

           Hinzugefügt in Version 239.

       systemd.io_weight=
           Setzt Unit IOWeight=.

           Hinzugefügt in Version 239.

       systemd.runtime_max_sec=
           Setzt Unit RuntimeMaxSec=.

           Hinzugefügt in Version 244.

       Beispieldaten können von einem anderen PAM-Modul bereitgestellt werden:

           pam_set_data(handle, "systemd.memory_max", (void *)"200M", cleanup);
           pam_set_data(handle, "systemd.tasks_max",  (void *)"50",   cleanup);
           pam_set_data(handle, "systemd.cpu_weight", (void *)"100",  cleanup);
           pam_set_data(handle, "systemd.io_weight",  (void *)"340",  cleanup);
           pam_set_data(handle, "systemd.runtime_max_sec", (void *)"3600", cleanup);

BEISPIEL

       Hier ist ein Beispiel-PAM-Konfigurationsfragment, das die Verwaltung von Benutzersitzungen durch
       systemd-logind.service erlaubt:

           #%PAM-1.0
           auth      sufficient pam_unix.so
           -auth     sufficient pam_systemd_home.so
           auth      required   pam_deny.so

           account   required   pam_nologin.so
           -account  sufficient pam_systemd_home.so
           account   sufficient pam_unix.so
           account   required   pam_permit.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-user-sessions.service(8), user@.service(5), systemd-logind.service(8),
       logind.conf(5), loginctl(1), pam_systemd_home(8), pam.conf(5), pam.d(5), pam(8), pam_loginuid(8),
       systemd.scope(5), systemd.slice(5), systemd.service(5)

ANMERKUNGEN

        1. JSON-Benutzerdatensätze
           https://systemd.io/USER_RECORD

        2. Desktop-Eintragsspezifikation
           https://standards.freedesktop.org/desktop-entry-spec/latest/

        3. XDG-Basisverzeichnisspezifikation
           https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

Ü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⟩.