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=MODUSWä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.
--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.
--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.
--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).
--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).
--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).
--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.
-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.
--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.
--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.
--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.
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.
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.
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.
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.
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.
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.DynamicUserDieser 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).
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&.
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.
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.
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.
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.
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 …
… AuthorizedKeysCommand /usr/bin/userdbctl ssh-authorized-keys %u --chain /usr/bin/othertool %u AuthorizedKeysCommandUser root …
EXIT-STATUS
Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.UMGEBUNGSVARIABLEN
$SYSTEMD_LOG_LEVELDie 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_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
Siehe less(1) für weitere Ausführungen.
$SYSTEMD_LESSCHARSET
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.
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
- 2.
- JSON-Gruppendatensätze
- 3.
- Benutzer-/Gruppen-Datensatznachschlage-API über Varlink
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <[email protected]> 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 Übersetzersystemd 252 |