plucky (8) nss-systemd.8.gz

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

BEZEICHNUNG

       nss-systemd, libnss_systemd.so.2 - UNIX-Benutzer- und -Gruppennamensauflösung zum Nachschlagen von
       Benutzern/Gruppen mittels Varlink

ÜBERSICHT

       libnss_systemd.so.2

BESCHREIBUNG

       nss-systemd ist ein Erweiterungsmodul für die GNU »Name Service Switch« (NSS)-Funktionalität der
       GNU-C-Bibliothek (glibc). Es stellt eine UNIX-Benutzer- und -Gruppennamensauflösung für Dienste bereit,
       die das Nachschlagen von Benutzern-/Gruppendatensätzen mittels Varlink[1] implementieren (für seine
       Funktionalität DynamicUser=, siehe systemd.exec(5) für Details), systemd-homed.service(8) oder
       systemd-machined.service(8).

       Dieses Modul stellt auch sicher, dass die Benutzer und Gruppen »root« und »nobody« (d.h. die
       Benutzer/Gruppen mit den UIDs/GIDs 0 und 65534) zu allen Zeiten aufgelöst werden können, selbst wenn sie
       in /etc/passwd oder /etc/group nicht aufgeführt sind oder diese Dateien fehlen.

       Dieses Modul verwendet bevorzugt systemd-userdbd.service(8) zur Auflösung von Benutzern und Gruppen,
       funktioniert aber auch, wenn dieser Dienst nicht läuft.

       Um das NSS-Modul zu aktivieren, fügen Sie »systemd« zu den mit »passwd:«, »group:«, »shadow:« und
       »gshadow:« in /etc/nsswitch.conf beginnenden Zeilen hinzu.

       Es wird empfohlen, »systemd« nach dem »files«-Eintrag in den /etc/nsswitch.conf-Zeilen abzulegen, um
       sicherzustellen, dass /etc/passwd-, /etc/group-, /etc/shadow- und /etc/gshadow-basierte Abbildungen
       Vorrang haben.

STATISCHE ERGÄNZUNGS-JSON-BENUTZER/GRUPPEN-DATENSÄTZE

       Neben den Benutzer-/Gruppendatensätzen, die über die vorgenannten Varlink-IPC-Schnittstellen erlangt
       werden und die synthetisierten Konten von root und nobodoy, stellt dieses Modul auch Benutzer- und
       Gruppenkonten dem System zur Verfügung, die in statischen Ergänzungsdateien in den Verzeichnissen
       /etc/userdb/, /run/userdb/, /run/host/userdb/ und /usr/lib/userdb/ definiert sind.

       Dies ist ein einfacher Mechanismus, statische Benutzer- und Gruppendatensätze mittels
       JSON-Ergänzungsdateien bereitzustellen. Solche Benutzerdatensätze sollten in dem in der Spezifikation
       JSON-Benutzerdatensätze[2] beschriebenen Format bereitgestellt werden und in eines der vorgenannten
       Verzeichnisse unter einem Dateinamen abgelegt werden, der aus dem Benutzernamen mit angehängtem .user
       besteht; die Datei sollte für alle lesbar sein. Es sollte auch ein Symlink, der nach der UID des
       Benutzerdatensatzes benannt, dezimal formatiert und mit angehängtem .user versehen ist, erstellt werden,
       der auf die primäre Datensatzdatei zeigt, um Nachschlagen nach sowohl dem Benutzer als auch der UID zu
       ermöglichen. Es können optional auch privilegierte Benutzerdaten (z.B. gehashte UNIX-Passwörter)
       bereitgestellt werden und zwar als Paar von getrennten Begleiterdateien mit der Endung .user-privileged.
       Die Daten sollten in einer regulären Datei gespeichert werden, die nach dem Benutzernamen benannt ist und
       die Endung .user-privileged trägt und einem Symlink, der darauf zeigt, der nach der verwandten
       numerischen UID, dezimal formatiert, benannt ist und die gleiche Endung hat. Diese Begleiterdateien
       sollten nur für root lesbar sein. Beispiel:

           -rw-r--r--. 1 root root  723 May 10 foobar.user
           -rw-------. 1 root root  123 May 10 foobar.user-privileged
           lrwxrwxrwx. 1 root root   19 May 10 4711.user -> foobar.user
           lrwxrwxrwx. 1 root root   19 May 10 4711.user-privileged -> foobar.user-privileged

       Ähnlich können Gruppendatensätze, die dem in JSON-Gruppendatensatz[3] beschriebenen Format folgen,
       definiert werden. Sie verwenden die Endungen .group und .group-privileged.

       Die primären Benutzer-/Gruppendatensätze (d.h. solche, mit der Endung .user und .group) sollten keinen
       »privilegierten« Abschnitt enthalten, wie das in der Spezifikation beschrieben ist. Ausschließlich die
       privilegierten Benutzer-/Gruppendatensatzdateien (d.h. die mit den Endungen .user-privileged und
       .group-privileged) sollten diesen Abschnitt enthalten.

       Zusätzlich zu den zwei Arten von Benutzerdatensatzdateien und den zwei Arten von Gruppendatensatzdateien
       gibt es einen fünften Dateityp, der in den Such-Verzeichnissen abgelegt werden kann: Dateien, die die
       Mitgliedschaft von Benutzern in Gruppen anzeigen. Konkret für jedes Paar von Benutzer und Gruppe, bei
       denen der Benutzer ein Mitglied einer Gruppe sein soll, sollte eine Datei mit Namen
       »Benutzernamen:Gruppennamen.membership« erstellt werden, d.h. dem UNIX-Benutzernamen in Textform, gefolgt
       von einem Doppelpunkt, gefolgt von dem UNIX-Gruppenname in Textform und angehängt ».membership«. Der
       Inhalt dieser Dateien wird aktuell nicht ausgelesen und die Dateien sollten leer erstellt werden. Die
       reine Existenz der Dateien reicht aus, um eine Benutzer/Gruppenmitgliedschaft zu betreffen. Falls ein
       Programm Benutzer- und/oder Gruppendatensatzdateien in den durchsuchten Verzeichnissen bereitstellt,
       sollte es immer auch solche Dateien erstellen, sowohl für die primären, als auch für die
       Nebengruppenmitgliedschaften.

       Beachten Sie, dass die statischen Benutzer-/Gruppendatensätze im Allgemeinen dazu in Konflikt stehende
       Datensätze /etc/passwd oder/etc/group oder anderen Kontodatenbanken nicht außer Kraft setzen. Bevor diese
       Dateien entfernt werden, sollte vernünftige Sorgfalt walten gelassen werden, Konflikte bei
       Benutzer-/Gruppennamen und UIDs/GIDs zu vermeiden.

KONFIGURATION IN /ETC/NSSWITCH.CONF

       Hier ist ein Beispiel für eine /etc/nsswitch.conf-Datei, die nss-systemd korrekt aktiviert:

           passwd:         files systemd
           group:          files [SUCCESS=merge] systemd
           shadow:         files systemd
           gshadow:        files systemd

           hosts:          mymachines resolve [!UNAVAIL=return] files myhostname dns
           networks:       files

           protocols:      db files
           services:       db files
           ethers:         db files
           rpc:            db files

           netgroup:       nis

BEISPIEL: DURCH SYSTEMD-MACHINED.SERVICE BEREITGESTELLTE ABBILDUNGEN

       Der Container »rawhide« wird mittels systemd-nspawn(1) erzeugt:

           # systemd-nspawn -M rawhide --boot --network-veth --private-users=pick
           Spawning container rawhide on /var/lib/machines/rawhide.
           Selected user namespace base 20119552 and range 65536.
           …

           $ machinectl --max-addresses=3
           MACHINE CLASS     SERVICE        OS     VERSION ADDRESSES
           rawhide container systemd-nspawn fedora 30      169.254.40.164 fe80::94aa:3aff:fe7b:d4b9

           $ getent passwd vu-rawhide-0 vu-rawhide-81
           vu-rawhide-0:*:20119552:65534:vu-rawhide-0:/:/usr/sbin/nologin
           vu-rawhide-81:*:20119633:65534:vu-rawhide-81:/:/usr/sbin/nologin

           $ getent group vg-rawhide-0 vg-rawhide-81
           vg-rawhide-0:*:20119552:
           vg-rawhide-81:*:20119633:

           $ ps -o user:15,pid,tty,command -e|grep '^vu-rawhide'
           vu-rawhide-0      692 ? /usr/lib/systemd/systemd
           vu-rawhide-0      731 ? /usr/lib/systemd/systemd-journald
           vu-rawhide-192    734 ? /usr/lib/systemd/systemd-networkd
           vu-rawhide-193    738 ? /usr/lib/systemd/systemd-resolved
           vu-rawhide-0      742 ? /usr/lib/systemd/systemd-logind
           vu-rawhide-81     744 ? /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
           vu-rawhide-0      746 ? /usr/sbin/sshd -D ...
           vu-rawhide-0      752 ? /usr/lib/systemd/systemd --user
           vu-rawhide-0      753 ? (sd-pam)
           vu-rawhide-0     1628 ? login -- zbyszek
           vu-rawhide-1000  1630 ? /usr/lib/systemd/systemd --user
           vu-rawhide-1000  1631 ? (sd-pam)
           vu-rawhide-1000  1637 pts/8    -zsh

SIEHE AUCH

       systemd(1), systemd.exec(5), nss-resolve(8), nss-myhostname(8), nss-mymachines(8),
       systemd-userdbd.service(8), systemd-homed.service(8), systemd-machined.service(8), nsswitch.conf(5),
       getent(1)

ANMERKUNGEN

        1. Benutzer-/Gruppen-Datensatznachschlage-API über Varlink
           https://systemd.io/USER_GROUP_API

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

        3. JSON-Gruppendatensatz
           https://systemd.io/GROUP_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⟩.