Provided by: manpages-de_4.21.0-2_all 

BEZEICHNUNG
userdbctl - Benutzer, Gruppen und Gruppenmitgliedschaften untersuchen
ÜBERSICHT
userdbctl [OPTIONEN…] {BEFEHL} [NAME…]
BESCHREIBUNG
userdbctl kann zur Untersuchung von Benutzern und Gruppen (sowie Gruppenzugehörigkeiten) des Systems
verwandt werden. Dieses Clienthilfswerkzeug fragt die Benutzer-/Gruppen-Informationen ab, die von
verschiedenen Systemdiensten bereitgestellt werden, sowohl JSON-Benutzer-/Gruppendatensätze (wie durch
JSON-Benutzerdatensätze[1] und JSON-Gruppendatensätze[2] definiert) als auch klassische UNIX
NSS/Glibc-Benutzer- und -Gruppendatensätze. Dieses Werkzeug ist primär ein Client für das
Benutzer-/Gruppen-Datensatznachschlage-API über Varlink[3]. Er kann auch statisch definierte
JSON-Benutzer-/Gruppendatensätze von Erweiterungsdateien in /etc/userdb/, /run/userdb/, /run/host/userdb/
und /usr/lib/userdb/ aufnehmen.
OPTIONEN
Die folgenden Optionen werden verstanden:
--output=MODUS
Wählt den Ausgabemodus, akzeptiert entweder »classic«, »friendly«, »table« oder »json«. Falls
»classic«, wird eine Ausgabe erzeugt, die im Format sehr ähnlich zu /etc/passwd oder /etc/group ist.
Falls »friendly«, wird eine umfangreichere und benutzerfreundlichere, menschenlesbare Ausgabe
erstellt; falls »table«, wird eine minimale, tabulare Ausgabe erstellt; falls »json«, wird eine
JSON-formatierte Ausgabe erstellt. Standardmäßig »friendly«, falls auf der Befehlszeile ein
Benutzer/eine Gruppe angegeben ist, ansonsten »table«.
Beachten Sie, dass die meisten Ausgabeformate nicht sämtliche verfügbare Informationen anzeigen.
Insbesondere zeigen »classic« und »table« nur die wichtigsten Felder. Verschiedene Modi zeigen auch
nicht die Passwort-Hashes. Verwenden Sie »json«, um alle Felder, einschließlich der
Authentifizierungsfelder, anzuzeigen.
Hinzugefügt in Version 245.
--json=FORMAT
Wählt den JSON-Ausgabemodus (wie --output=json) und wählte den genauen Anzeigemodus. Akzeptiert
entweder »pretty« oder »short«. Falls »pretty«, werden lesefreundliche Leerraumzeichen und
Zeilenumbrüche in der Ausgabe eingefügt, um die JSON-Daten lesbarer zu machen. Bei »short« werden
alle überflüssigen Leerraumzeichen unterdrückt.
Hinzugefügt in Version 250.
--service=DIENST[:DIENST…], -s DIENST:DIENST…
Steuert, welcher Dienst für Benutzer/Gruppen abzufragen ist. Akzeptiert eine Liste von einem oder
mehreren Dienstenamen, getrennt durch »:«. Nachfolgend finden Sie eine Liste gut bekannter
Dienstenamen. Falls nicht angegeben, werden alle verfügbaren Dienste auf einmal abgefragt.
Hinzugefügt in Version 245.
--with-nss=LOGISCH
Steuert, ob klassisches Glibc/NSS-Benutzer/Gruppen-Nachschlagen in der Ausgabe aufgenommen werden
soll. Falls --with-nss=no verwandt wird, werden sämtliche Versuche, Benutzer/Gruppen mittels
Glibc-NSS aufzulösen oder aufzuzählen, unterdrückt. Falls --with-nss=yes angegeben ist, werden solche
Benutzer/Gruppen in der Ausgabe aufgenommen (dies ist die Vorgabe).
Hinzugefügt in Version 245.
--with-varlink=LOGISCH
Steuert, ob Varlink Benutzer/Gruppen-Nachschlagen in der Ausgabe aufgenommen werden soll, d.h. das
mittels Benutzer-/Gruppen-Datensatznachschlage-API über Varlink[3] erfolgt . Falls --with-varlink=no
verwandt wird, werden sämtliche Versuche, Benutzer/Gruppen mittels Varlink aufzulösen oder
aufzuzählen, unterdrückt. Falls --with-varlink=yes angegeben ist, werden solche Benutzer/Gruppen in
der Ausgabe aufgenommen (dies ist die Vorgabe).
Hinzugefügt in Version 249.
--with-dropin=LOGISCH
Steuert, ob Benutzer/Gruppen-Nachschlagen in der Ausgabe aufgenommen werden soll, das in
Ergänzungsdateien in /etc/userdb/, /run/userdb/, /run/host/userdb/, /usr/lib/userdb/ definiert ist. .
Falls --with-dropin=no verwandt wird, werden diese Datensätze unterdrückt. Falls --with-dropin=yes
angegeben ist, werden solche Benutzer/Gruppen in der Ausgabe aufgenommen (dies ist die Vorgabe).
Hinzugefügt in Version 249.
--synthesize=LOGISCH
Steuert, ob Datensätze für die Benutzer/Gruppen root und nobody künstlich erstellt werden sollen,
falls sie nicht anderweitig definiert sind. Standardmäßig (oder »yes«) werden solche Datensätze
implizit künstlich erzeugt, falls sie andernfalls ansonsten fehlen würden, da sie für das
Betriebssystem von besonderer Bedeutung sind. Falls »no«, wird diese künstliche Erzeugung
ausgeschaltet.
Hinzugefügt in Version 245.
-N
Diese Option ist die Kurzform von --with-nss=no --synthesize=no. Verwenden Sie diese Option, um nur
Datensätze anzuzeigen, die nativ als JSON-Benutzer- oder -Gruppendatensätze definiert sind, wobei
alle NSS/Glibc-Kompatibilität und alle implizit künstlich erstellten Informationen ausgeschaltet
sind.
Hinzugefügt in Version 245.
--multiplexer=LOGISCH
Steuert, ob Nachschlagen über den Multiplexer-Dienst (falls als wahr angegeben, was die Vorgabe ist)
oder ob Nachschlagen im Client erfolgen soll (falls als falsch angegeben). Normalerweise sollte der
Multiplexer-Dienst bevorzugt werden, da er in einer verriegelten Sandbox läuft.
Hinzugefügt in Version 250.
--chain
Erlaubt bei der Verwendung mit dem Befehl ssh-authorized-keys die Übergabe einer zusätzlichen
Befehlszeile nach dem Benutzernamen, die dann als nächstes in der Kette ausgeführt wird, nachdem das
Nachschlagen abgeschlossen wurde. Dies erlaubt die Verkettung mehrerer Werkzeuge, die die
autorisierten Schlüssel von SSH anzeigen.
Hinzugefügt in Version 250.
--no-pager
Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter.
--no-legend
Gibt die Legende nicht aus, d.h. die Spaltenköpfe und die Fußzeile mit Hinweisen.
-h, --help
Zeigt einen kurzen Hilfetext an und beendet das Programm.
--version
Zeigt eine kurze Versionszeichenkette an und beendet das Programm.
BEFEHLE
Die folgenden Befehle werden verstanden:
user [BENUTZER…]
Listet alle bekannten Benutzerdatensätze auf oder zeigt Details zu einem oder mehreren angegebenen
Benutzerdatensätzen. Verwenden Sie --output=, um den Ausgabemodus anzupassen.
Hinzugefügt in Version 245.
group [GRUPPE…]
Listet alle bekannten Gruppendatensätze auf oder zeigt Details zu einem oder mehreren angegebenen
Gruppendatensätzen. Verwenden Sie --output=, um den Ausgabemodus anzupassen.
Hinzugefügt in Version 245.
users-in-group [GRUPPE…]
Listet Benutzer auf, die Mitglieder der angegebenen Gruppen sind. Falls keine Gruppen angegeben
werden, werden alle Benutzer/Gruppenmitgliedschaften aufgelistet. Verwenden Sie --output=, um den
Ausgabemodus anzupassen.
Hinzugefügt in Version 245.
groups-of-user [BENUTZER…]
Listet Gruppen, in denen der angegebene Benutzer Mitglied ist. Falls kein Benutzer angegeben ist,
werden alle definierten Benutzer/Gruppenmitgliedschaften aufgelistet (in diesem Fall sind
groups-of-user und users-in-group äquivalent). Verwenden Sie --output=, um den Ausgabemodus
anzupassen.
Hinzugefügt in Version 245.
services
Listet alle Dienste auf, die derzeit Benutzer-/Gruppendefinitionen für das System bereitstellen. Die
Liste der gut bekannten Dienste, die Benutzerinformationen bereitstellen, ist weiter unten angegeben.
Hinzugefügt in Version 245.
ssh-authorized-keys
Zeigt autorisierte SSH-Schlüssel für dieses Konto. Dieser Befehl ist dazu gedacht, damit SSH-Daemons
autorisierte Schlüssel aus Benutzerdatensätzen entnehmen können, siehe unten.
Hinzugefügt in Version 245.
GUT BEKANNTE DIENSTE
Der Befehl userdbctl services wird alle derzeit laufenden Dienste auflisten, die dem System Benutzer-
oder Gruppendefinitionen bereitstellen. Die folgenden gut bekannten Dienste werden als Teil dieser Liste
dargestellt:
io.systemd.DynamicUser
Dieser Dienst wird vom Systemdiensteverwalter selbst bereitgestellt (d.h. PID 1) und stellt alle
Benutzer (und ihre Gruppen) künstlich generiert durch die Einstellung DynamicUser= in
Dienste-Unit-Dateien dem System zur Verfügung (siehe systemd.exec(5) für Details über diese
Einstellung).
Hinzugefügt in Version 245.
io.systemd.Home
Dieser Dienst wird durch systemd-homed.service(8) bereitgestellt und stellt alle Benutzer (und ihre
Gruppen), die zu den durch diesen Dienst verwalteten Home-Verzeichnissen gehören, dem System zur
Verfügung&.
Hinzugefügt in Version 245.
io.systemd.Machine
Dieser Dienst wird durch systemd-machined.service(8) bereitgestellt und stellt unter Verwendung von
Benutzer-Namensräumen künstliche Datensätze für die durch einen Container verwandten Benutzer/Gruppen
bereit.
Hinzugefügt in Version 246.
io.systemd.Multiplexer
Dieser Dienst wird durch systemd-userdbd.service(8) bereitgestellt und verteilt das Nachschlagen von
Benutzern/Gruppen auf alle anderen laufenden Nachschlage-Dienste. Dies ist der primäre Einstiegspunkt
für alle Benutzer-/Gruppendatensatz-Clients, da es die Client-seitige Implementierung deutlich
reduziert, da alle Clients einen einzelnen Dienst zum Nachschlagen abfragen können, statt parallel
alle laufenden Dienste abzufragen. userdbctl nutzt diesen Dienst auch bevorzugt, außer --with-nss=
oder --service= wird verwandt, wodurch eine genauere Steuerung über die Dienste, mit denen
kommuniziert wird, notwendig ist.
Hinzugefügt in Version 245.
io.systemd.NameServiceSwitch
Dieser Dienst wird (auch) durch systemd-userdbd.service(8) bereitgestellt und konvertiert klassische
NSS/Glibc-Benutzer- und Gruppendatensätze in JSON-Benutzer-/Gruppendatensätze, wodurch vollständige
Rückwärtskompatibilität bereitgestellt wird. Verwenden Sie --with-nss=no, um diese Kompatibilität zu
deaktivieren, siehe oben. Beachten Sie, dass die Kompatibilität tatsächlich in beide Richtungen
bereitgestellt wird: nss-systemd(8) wird automatisch klassische NSS/Glibc-Benutzer-/Gruppendatensätze
aus allen dem System zur Verfügung gestellten JSON-Benutzer-/Gruppendatensätzen bereitstellen, daher
ist die Verwendung beider APIs größtenteils äquivalent und stellt den Zugriff auf die gleichen Daten
bereit, allerdings legen die NSS/Glibc-APIs notwendigerweise nur eine reduziertere Gruppe an Feldern
offen.
Hinzugefügt in Version 245.
io.systemd.DropIn
Dieser Dienst wird (auch) durch systemd-machined.service(8) bereitgestellt und nimmt auch die
JSON-Benutzer-/Gruppendatensätze von Erweiterungsdateien in /etc/userdb/, /run/userdb/,
/run/host/userdb/ und /usr/lib/userdb/ auf.
Hinzugefügt in Version 249.
Beachten Sie, dass userdbctl auch interne Unterstützung für NSS-basiertes Nachschlagen hat. Dies
bedeutet, dass das Nachschlagen in den grundlegenden Benutzer-/Gruppendatenbanken weiterhin funktioniert,
falls weder io.systemd.Multiplexer noch io.systemd.NameServiceSwitch laufen.
INTEGRATION MIT SSH
Das Werkzeug userdbctl kann dem SSH-Daemon zur Authentifizierung eine Liste der freigegebenen
SSH-Schlüssel, die möglicherweise in einem Benutzerdatensatz enthalten sind, bereitstellen. Dafür ist
Folgendes in der sshd_config(5) notwendig:
…
AuthorizedKeysCommand /usr/bin/userdbctl ssh-authorized-keys %u
AuthorizedKeysCommandUser root
…
Manchmal ist es nützlich, die verkettete Ausführung eines anderen Progamms zum Auflisten von
autorisierten Schlüsseln der SSH zu erlauben. Durch Verwendung von --chain kann solch ein Werkzeug durch
userdbctl ssh-authorized-keys in Kette ausgeführt werden, sobald das Nachschlagen beendet wurde
(unabhängig davon, ob ein SSH-Schlüssel gefunden wurde oder nicht). Beispiel:
…
AuthorizedKeysCommand /usr/bin/userdbctl ssh-authorized-keys %u --chain /usr/bin/othertool %u
AuthorizedKeysCommandUser root
…
Obige Befehle werden zuerst die userdb-Datenbank nach SSH-Schlüssel abfragen und dann in Kette
/usr/bin/othertool ausführen, um auch abzufragen.
EXIT-STATUS
Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.
UMGEBUNGSVARIABLEN
$SYSTEMD_LOG_LEVEL
Die maximale Protokollierstufe ausgesandter Nachrichten (Nachrichten mit einer höheren
Protokollierstufe, d.h. weniger wichtige, werden unterdrückt). Sie muss (in absteigender Reihenfolge)
entweder alert, crit, err, warning, notice, info, debug oder eine Ganzzahl im Bereich 0…7 sein. Siehe
syslog(3) für weitere Informationen.
$SYSTEMD_LOG_COLOR
Ein logischer Wert. Falls wahr, werden auf das TTY geschriebene Nachrichten gemäß ihrer Priorität
eingefärbt.
Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das Terminal geschrieben werden,
da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbständig Nachrichten gemäß ihrer
Protokollierungsstufe einfärben.
$SYSTEMD_LOG_TIME
Ein logischer Wert. Falls wahr, wird den Protokollnachrichten der Konsole ein Zeitstempel
vorangestellt.
Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das Terminal oder in eine Datei
geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbständig
Zeitstempel basierend auf ihren Metadaten den Nachrichten anhängen werden.
$SYSTEMD_LOG_LOCATION
Ein logischer Wert. Falls wahr, wird den Protokollnachrichten ein Dateinamen und eine Zeilenummer in
dem Quellcode, aus dem die Nachrichten stammen, vorangestellt.
Beachten Sie, dass der Protokollierort sowieso oft als Metadaten zu den Journal-Einträgen angehängt
ist. Die Aufnahme in den Nachrichtentext kann bei der Fehlersuche in Programmen dennoch praktisch
sein.
$SYSTEMD_LOG_TID
Ein logischer Wert. Falls wahr, wird den Nachrichten die aktuelle numerische Thread-Kennung (TID)
vorangestellt.
Beachten Sie, dass diese Informationen sowieso als Metadatan an Journal-Einträge angehängt wird. Die
Aufnahme direkt im Nachrichtentext kann aber trotzdem bei der Fehlersuche in Programmen praktisch
sein.
$SYSTEMD_LOG_TARGET
Das Ziel für Protokolliernachrichten. Entweder console (auf das angehängte TTY protokollieren),
console-prefixed (auf das angehängte TTY protokollieren, aber die Protokollierstufe und »Einrichtung«
voranstellen, siehe syslog(3)), kmsg (in den zirkulären Kernel-Protokollpuffer protokollieren),
journal (in das Journal protokollieren (journal-or-kmsg (in das Journal protokollieren, falls
verfügbar, und andernfalls nach Kmsg), auto (das geeignete Protokollierziel automatisch ermitteln,
die Vorgabe) oder null (die Protokollierung deaktivieren).
$SYSTEMD_LOG_RATELIMIT_KMSG
Ob Kmsg ratenlimitiert werden soll oder nicht. Akzeptiert einen logischen Wert. Standardmäßig »true«.
Falls deaktiviert, wird Systemd die nach Kmsg geschriebenen Meldungen nicht ratenlimitieren.
$SYSTEMD_PAGER
Zu verwendendes Textanzeigeprogramm, wenn --no-pager nicht angegeben ist; setzt $PAGER außer Kraft.
Falls weder $SYSTEMD_PAGER noch $PAGER gesetzt sind, wird eine Reihe wohlbekannter
Textanzeigeprogrammimplementierungen der Reihe nach ausprobiert, einschließlich less(1) und more(1),
bis eines gefunden wird. Falls keine Textanzeigeprogrammimplementierung gefunden wird, wird keines
aufgerufen. Setzen der Umgebungsvariablen auf die leere Zeichenkette oder den Wert »cat« ist
äquivalent zur Übergabe von --no-pager.
Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, dann wird $SYSTEMD_PAGER (sowie $PAGER)
ohne Rückmeldung ignoriert.
$SYSTEMD_LESS
Setzt die an less übergebenen Optionen (standardmäßig »FRSXMK«) außer Kraft.
Benutzer könnten insbesondere zwei Optionen ändern wollen:
K
Diese Option weist das Textanzeigeprogramm an, sich sofort beim Druck von Strg-C zu beenden. Um
less die Handhabung von Strg-C selbst zum Umschalten auf die Eingabeaufforderung zu erlauben,
setzen Sie diese Option zurück.
Falls der Wert von $SYSTEMD_LESS kein »K« enthält und less das aufgerufene Textanzeigeprogramm
ist, wird Strg+C durch das Programm ignoriert und muss durch das Textanzeigeprogramm selbst
gehandhabt werden.
X
Diese Option weist das Textanzeigeprogramm an, keine Termcap-Initialisierungs- und
-Deinitalisierungszeichenketten an das Terminal zu senden. Dies ist standardmäßig gesetzt, damit
die Darstellung von Befehlen selbst nach dem Beenden des Textanzeigeprogramms sichtbar bleibt.
Allerdings stehen dadurch einige Funktionen des Textanzeigeprogramms nicht zur Verfügung;
insbesondere ist das Scrollen in der Ausgabe mit der Maus nicht möglich.
Siehe less(1) für weitere Ausführungen.
$SYSTEMD_LESSCHARSET
Setzt den an less zu übergebenden Zeichensatz (standardmäßig »utf-8«, falls das aufrufende Terminal
als UTF-8-kompatibel erkannt wurde) außer Kraft.
$SYSTEMD_PAGERSECURE
Akzeptiert einen logischen Wert. Wenn wahr, wird der »sichere« Modus des Seitenanzeigeprogramms
verwandt, falls falsch, wird dieser deaktiviert. Falls $SYSTEMD_PAGERSECURE überhaupt nicht gesetzt
ist, dann wird der sichere Modus aktiviert, falls die effektive Kennung nicht identisch zu dem
Eigentümer der Anmeldesitzung ist, siehe geteuid(2) und sd_pid_get_owner_uid(3). Im sicheren Modus
wird LESSSECURE=1 beim Aufruf des Seitenanzeigeprogramms gesetzt und das Seitenanzeigeprogramm muss
Befehle deaktivieren, die neue Dateien öffnen oder erstellen oder die einen neuen Unterprozess
starten. Falls $SYSTEMD_PAGERSECURE überhaupt nicht gesetzt ist, werden Seitenanzeigeprogramme, bei
denen unbekannt ist, ob sie einen sicheren Modus implementieren, nicht verwandt. (Derzeit
implementiert nur less(1) einen sicheren Modus.)
Hinweis: Wenn Befehle mit erhöhten Rechten ausgeführt werden, beispielsweise mittels sudo(8) oder
pkexec(1), muss Vorsicht walten gelassen werden, um sicherzustellen, dass keine ungeplanten
interaktiven Funktionalitäten aktiviert werden. Der »sichere« Modus für das Seitenanzeigeprogramm
kann wie oben beschrieben automatisch aktiviert werden. Durch Setzen von SYSTEMD_PAGERSECURE=0 oder
durch Nichtenfernen dieser Einstellung aus der ererbten Umgebung wird es dem Benutzer ermöglicht,
beliebige Befehle auszuführen. Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt werden muss,
falls die Variablen $SYSTEMD_PAGER oder $PAGER berücksichtigt werden sollen. Es kann sinnvoll sein,
stattdessen den Seitenanzeiger komplett mit --no-pager zu deaktivieren.
$SYSTEMD_COLORS
Akzeptiert ein logisches Argument. Wenn wahr, werden systemd und verwandte Hilfswerkzeuge Farben in
ihrer Ausgabe verwenden, andernfalls wird die Ausgabe einfarbig sein. Zusätzlich kann die Variable
eine der folgenden besonderen Werte annehmen: »16«, »256«, um die Verwendung von Farbe auf die
grundlegenden 16 bzw. 256 ANSI-Farben zu beschränken. Dies kann festgelegt werden, um die auf $TERM
und der vorliegenden Verbindung der Konsole basierende automatische Entscheidung außer Kraft zu
setzen.
$SYSTEMD_URLIFY
Dies muss ein logischer Wert sein. Er steuert, ob anklickbare Links für Terminal-Emulatoren, die dies
unterstützen, erstellt werden sollen. Dies kann angegeben werden, um die Entscheidung, die systemd
basierend auf $TERM und anderen Bedingungen trifft, außer Kraft zu setzen.
SIEHE AUCH
systemd(1), systemd-userdbd.service(8), systemd-homed.service(8), nss-systemd(8), getent(1)
ANMERKUNGEN
1. JSON-Benutzerdatensätze
https://systemd.io/USER_RECORD
2. JSON-Gruppendatensätze
https://systemd.io/GROUP_RECORD
3. Benutzer-/Gruppen-Datensatznachschlage-API über Varlink
https://systemd.io/USER_GROUP_API
Ü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 255 USERDBCTL(1)