Provided by: manpages-de_2.16-1_all 

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.
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.
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. Entweder »user«, »greeter«, »lock-screen« oder
»background«. Siehe sd_session_get_class(3) für Details über die Sitzungsklasse.
type=
Akzeptiert ein Zeichenkettenargument, das den Sitzungstyp setzt. Die Umgebungsvariable
XDG_SESSION_TYPE (siehe unten) hat Vorrang. Entweder »unspecified«, »tty«, »x11«, »wayland« oder
»mir«. Siehe sd_session_get_type(3) für Details über den Sitzungstyp.
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[1] 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.
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
Von dem Modul werden die folgenden Umgebungsvariablen initialisiert und sind für die Prozesse der Sitzung
des Benutzers verfügbar:
$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 für die aktuelle
Sitzung 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[2].
$XDG_RUNTIME_DIR wird nicht gesetzt, falls der aktuelle Benutzer nicht der ursprüngliche Benutzer der
Sitzung ist.
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 session= auf der Modulparameterzeile verwandt werden und wird
normalerweise bevorzugt.
$XDG_SESSION_CLASS
Die Sitzungsklasse. Dies kann anstelle von class= auf der Modulparameterzeile verwandt werden und
wird normalerweise bevorzugt.
$XDG_SESSION_DESKTOP
Der Desktop-Kennzeichner. Dieser kann statt desktop= auf der Modulparameterzeile verwandt werden und
wird normalerweise bevorzugt.
$XDG_SEAT
Der Name des Sitzes, für den die Sitzung registriert werden soll, falls vorhanden.
$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«.)
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=.
systemd.tasks_max
Setzt Unit TasksMax=.
systemd.cpu_weight
Setzt Unit CPUWeight=.
systemd.io_weight
Setzt Unit IOWeight=.
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);
BEISPIEL
#%PAM-1.0
auth required pam_unix.so
auth required pam_nologin.so
account required pam_unix.so
password required pam_unix.so
session required pam_unix.so
session required pam_loginuid.so
session required pam_systemd.so
SIEHE AUCH
systemd(1), systemd-logind.service(8), logind.conf(5), loginctl(1), pam.conf(5), pam.d(5), pam(8),
pam_loginuid(8), systemd.scope(5), systemd.slice(5), systemd.service(5)
ANMERKUNGEN
1. Desktop-Eintragsspezifikation
http://standards.freedesktop.org/desktop-entry-spec/latest/
2. XDG-Basisverzeichnisspezifikation
http://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 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
<debian-l10n-german@lists.debian.org>.
systemd 243 PAM_SYSTEMD(8)