Provided by: manpages-de_4.13-4_all 

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«- oder »compat«-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.
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: compat systemd
group: compat [SUCCESS=merge] systemd
shadow: compat 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 ? /lib/systemd/systemd
vu-rawhide-0 731 ? /lib/systemd/systemd-journald
vu-rawhide-192 734 ? /lib/systemd/systemd-networkd
vu-rawhide-193 738 ? /lib/systemd/systemd-resolved
vu-rawhide-0 742 ? /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 ? /lib/systemd/systemd --user
vu-rawhide-0 753 ? (sd-pam)
vu-rawhide-0 1628 ? login -- zbyszek
vu-rawhide-1000 1630 ? /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 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.
systemd 250 NSS-SYSTEMD(8)