- trixie 4.27.0-1
- trixie-backports 4.28.0-2~bpo13+2
- testing 4.28.0-2
- unstable 4.28.0-2
| PAM_SYSTEMD(8) | pam_systemd | PAM_SYSTEMD(8) |
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:
Bei der Abmeldung stellt dieses Modul Folgendes sicher:
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=
Tabelle 1. Sitzungsklassen
| Name | Erklä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-light | Ähnlich zu »user«, aber Sitzungen dieser Klasse werden nicht user@.service(5) des Benutzers reinziehen, und daher läuft möglicherweise kein Diensteverwalter des Benutzers. (Hinzugefügt in v258.) |
| user-early-light | Ähnlich zu »user-early«, aber Sitzungen dieser Klasse werden nicht user@.service(5) des Benutzers reinziehen, und daher läuft möglicherweise kein Diensteverwalter des Benutzers. (Hinzugefügt in v258.) |
| 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 läuft möglicherweise kein Diensteverwalter 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.) |
| none | Überspringt die Registrierung dieser Sitzung mit Logind. Es wird kein Sitzungs-Bereich erstellt und der Benutzer-Diensteverwalter wird nicht gestartet. (Hinzugefügt in v259.) |
Hinzugefügt in Version 197.
type=
Hinzugefügt in Version 209.
desktop=
Hinzugefügt in Version 240.
area=
Diese Funktionalität kann zur Verwaltung mehrerer separater sekundärer Home-Verzeichnisse innerhalb des primären Home-Verzeichnisses des Benutzer verwandt werden. Typischerweise wird der Bereich, an dem angemeldet werden soll, während der Anmeldung angegeben, falls das Konto dies erlaubt (von pam_systemd_home(8) bereitgestellte Konten erlauben dies), aber dieser Parameter kann verwandt werden, um eine Vorgabe zu definieren, falls das nicht bereitgestellt wird.
Beachten Sie, dass dies $HOME nur während der Anmeldung anpasst, es betrifft keine anderweitig berichteten Home-Verzeichnisse des Benutzers. Insbesondere bedeutet dies, dass sshd(8) weiterhin nach SSH-Schlüsseln des Benutzers nur in dem primären Home-Verzeichnis des Benutzers sucht und nicht in einem der Bereiche.
Beachten Sie, dass der Standard-Bereich, an dem angemeldet wird, auch als Teil des Benutzerkontos konfiguriert werden kann. Der mittels area= angegebene Bereich setzt den dort konfigurierten Standard-Bereich außer Kraft. Beachten Sie auch, dass ein explizit vom Benutzer zum Anmeldezeitpunkt festgelegter Bereich beide außer Kraft setzt. Beachten Sie ebenfalls, dass das Setzen dieses Parameters auf eine leere Zeichenkette dazu führt, dass der Standard-Bereich, wie er vom Benutzerdatensatz konfiguriert wird, zurückgesetzt wird, d.h. dass dadurch sichergestellt wird, dass sich der Benutzer am primären Home-Verzeichnis seines Kontos anmeldet.
Weitere Details zum Konzept der Bereiche finden Sie in pam_systemd_home(8).
Hinzugefügt in Version 258.
default-capability-bounding-set=, default-capability-ambient-set=
Hinzugefügt in Version 254.
debug[=]
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
$XDG_RUNTIME_DIR
$TZ, $EMAIL, $LANG
Hinzugefügt in Version 245.
$SHELL_PROMPT_PREFIX, $SHELL_PROMPT_SUFFIX, $SHELL_WELCOME
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
Hinzugefügt in Version 209.
$XDG_SESSION_CLASS
Hinzugefügt in Version 209.
$XDG_SESSION_DESKTOP
Hinzugefügt in Version 209.
$XDG_SEAT
Hinzugefügt in Version 209.
$XDG_VTNR
Hinzugefügt in Version 209.
$XDG_AREA
Hinzugefügt in Version 258.
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=
Hinzugefügt in Version 239.
systemd.tasks_max=
Hinzugefügt in Version 239.
systemd.cpu_weight=
Hinzugefügt in Version 239.
systemd.io_weight=
Hinzugefügt in Version 239.
systemd.runtime_max_sec=
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 [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-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
- 2.
- Desktop-Eintragsspezifikation
- 3.
- XDG-Basisverzeichnisspezifikation
Ü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 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.
| systemd 258~rc3 |