BEZEICHNUNG
runuser - einen Befehl mit ersetzter Benutzer- und Gruppenkennung ausführenÜBERSICHT
runuser [Optionen] -u Benutzer [[--] Befehl [Argument…]]BESCHREIBUNG
runuser führt Befehle aus, wobei die Benutzer- und Gruppenkennung ersetzt werden. Wenn die Option -u nicht verwendet wird, dann weicht runuser auf eine su-kompatible Semantik aus und führt eine Shell aus. Der Unterschied zwischen den Befehlen runuser und su besteht darin, dass runuser nicht nach einem Passwort fragt (da es nur vom Benutzer Root ausgeführt werden darf) und eine andere PAM-Konfiguration verwendet. Der Befehl runuser muss nicht mit »set-user-ID«-Zugriffsrechten installiert werden.OPTIONEN
-c, --command=Befehlübergibt den Befehl mit der
Option -c an die Shell.
übergibt -f an die Shell, was
abhängig von der Shell sinnvoll sein kann oder auch nicht.
legt die primäre Gruppe fest. Diese
Option ist dem Benutzer Root vorbehalten.
gibt eine ergänzende Gruppe an. Diese
Option ist nur für den Benutzer Root verfügbar. Die erste
angegebene ergänzende Gruppe wir auch als primäre Gruppe
verwendet, falls die Option --group nicht angegeben ist.
startet die Shell als Anmelde-Shell mit einer
Umgebung ähnlich zu einer realen Anmeldung:
•leert alle Umgebungsvariablen
außer TERM und die durch --whitelist-environment
angegebenen
•initialisiert die Umgebungsvariablen
HOME, SHELL, USER, LOGNAME und PATH.
•wechselt in das Home-Verzeichnis des
Zielbenutzers.
•setzt argv[0] der Shell auf
»-«, um die Shell zur Anmelde-Shell zu machen.
erstellt ein Pseudo-Terminal für die
Sitzung. Das unabhängige Terminal gewährleistet bessere
Sicherheit, da der Benutzer das Terminal nicht mit der Originalsitzung teilt.
Dadurch können Sie durch TIOCSTI vorgetäuschte
Ioctl-Terminaleinschleusung und andere Sicherheitsangriffe gegen
Terminal-Dateideskriptoren vermeiden. Die gesamte Sitzung kann auch in den
Hintergrund verschoben werden (zum Beispiel mit runuser --pty -u
Benutzername -- Befehl &). Falls das
Pseudo-Terminal aktiviert ist, dann funktioniert der Befehl runuser als
Proxy zwischen den Sitzungen (synchronisiert die Standardeingabe und
-ausgabe).
Diese Funktion ist vorwiegend für interaktive Sitzungen gedacht. Falls
die Standardeingabe kein Terminal ist, sondern beispielsweise eine Pipe (zum
Beispiel echo "date" | runuser --pty -u Benutzer),
dann wird der ECHO-Schalter für das Pseudo-Terminal deaktiviert,
um unordentliche Ausgaben zu vermeiden.
bewahrt die gesamte Umgebung, das bedeutet, es
setzt die Umgebungsvariablen HOME, SHELL, USER oder
LOGNAME nicht. Die Option wird ignoriert, wenn --login verwendet
wird.
führt die angegebene Shell
anstelle der Vorgabe aus. Die auszuführende Shell wird nach den
folgenden Regeln in dieser Reihenfolge ausgewählt:
•die durch --shell angegebene
Shell
•die in der Umgebungsvariable
SHELL angegebene Shell, wenn die Option --preserve-environment
nicht verwendet wird
•die im »passwd«-Eintrag
des Zielbenutzers angegebene Shell
•/bin/sh
Falls der Zielbenutzer eine eingeschränkte Shell hat (die nicht in
/etc/shells aufgelistet ist), werden die die Option --shell und
die Umgebungsvariable SHELL ignoriert, es sei denn, der aufrufende
Benutzer ist Root.
ist gleichbedeutend mit -c, erzeugt
aber keine neue Sitzung (davon wird abgeraten).
setzt die in der Kommata-getrennten
Liste angegebenen Umgebungsvariablen nicht zurück, wenn die
Umgebung für --login bereinigt wird. Die Positivliste wird
für die Umgebungsvariablen HOME, SHELL, USER,
LOGNAME und PATH ignoriert.
zeigt einen Hilfetext an und beendet das
Programm.
zeigt die Versionsnummer an und beendet das
Programm.
KONFIGURATIONSDATEIEN
runuser liest die Konfigurationsdateien /etc/default/runuser und /etc/login.defs. Die folgenden Konfigurationseinträge sind für runuser von Bedeutung:definiert die Umgebungsvariable PATH
für einen normalen Benutzer. Der Vorgabewert ist
/usr/local/bin:/bin:/usr/bin.
definiert die Umgebungsvariable PATH
für root. ENV_SUPATH hat Vorrang. Der Vorgabewert ist
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.
Falls dies auf yes gesetzt ist und
--login sowie --preserve-environment nicht angegeben wurden,
initialisiert runuser die Umgebungsvariable PATH.
EXIT-STATUS
runuser gibt normalerweise den Exit-Status des Befehls zurück, den es ausgeführt hat. Wenn der Befehl durch ein Signal abgewürgt wurde, gibt runuser die Nummer des Signals plus 128 zurück.Allgemeiner Fehler vor dem Ausführen
des angeforderten Befehls
Der angeforderte Befehl konnte nicht
ausgeführt werden
Der angeforderte Befehl wurde nicht
gefunden
DATEIEN
/etc/pam.d/runuserStandard-PAM-Konfigurationsdatei
PAM-Konfigurationsdatei, falls --login
angegeben wurde
runuser-spezifische
logindef-Konfigurationsdatei
Globale Logindef-Konfigurationsdatei
GESCHICHTE
Dieser Befehl runuser wurde von su aus den GNU Coreutils abgeleitet, welches auf einer Implementierung von David MacKenzie basiert, und dem Befehl runuser in Fedora von Dan Walsh.SIEHE AUCH
setpriv(1), su(1), login.defs(5), shells(5), pam(8)FEHLER MELDEN
Verwenden Sie zum Melden von Fehlern das Fehlererfassungssystem auf <https://github.com/util-linux/util-linux/issues>.VERFÜGBARKEIT
Der Befehl runuser ist Teil des Pakets util-linux, welches heruntergeladen werden kann von: Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <[email protected]> und Dr. Tobias Quathamer <[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 Übersetzer11. Mai 2022 | util-linux 2.38.1 |