Provided by: manpages-de_4.13-4_all 

BEZEICHNUNG
runuser - einen Befehl mit ersetzter Benutzer- und Gruppenkennung ausführen
ÜBERSICHT
runuser [Optionen] -u Benutzer [[--] Befehl [Argument…]]
runuser [Optionen] [-] [Benutzer [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.
Falls die PAM-Sitzung nicht »required« ist, dann ist die empfohlene Lösung die Verwendung des Befehls
setpriv(1).
Wenn es ohne Argumente aufgerufen wird, dann führt runuser in der Voreinstellung eine Shell als root aus.
Aus Gründen der Abwärtskompatibilität wechselt runuser das aktuelle Verzeichnis in der Voreinstellung
nicht und setzt nur die Umgebungsvariablen HOME und SHELL (plus USER und LOGNAME, falls der Ziel-Benutzer
nicht Root ist). Diese Version von runuser verwendet PAM für die Sitzungsverwaltung.
Beachten Sie, dass runuser in allen Fällen PAM (pam_getenvlist()) zum endgültigen Ändern der Umgebung
verwendet. Die Befehlszeilenoptionen wie --login oder --preserve-environment wirken sich auf die Umgebung
aus, bevor sie von PAM verändert wird.
OPTIONEN
-c, --command=Befehl
übergibt den Befehl mit der Option -c an die Shell.
-f, --fast
übergibt -f an die Shell, was abhängig von der Shell sinnvoll sein kann oder auch nicht.
-g, --group=Gruppe
legt die primäre Gruppe fest. Diese Option ist dem Benutzer Root vorbehalten.
-G, --supp-group=Gruppe
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.
-, -l, --login
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.
-P, --pty
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 (kopiert 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.
-m, -p, --preserve-environment
bewahrt die gesamte Umgebung, das bedeutet, es setzt die Umgebungsvariablen HOME, SHELL, USER oder
LOGNAME nicht. Die Option wird ignoriert, wenn --login verwendet wird.
-s, --shell=Shell
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.
--session-command=Befehl
ist gleichbedeutend mit -c, erzeugt aber keine neue Sitzung (davon wird abgeraten).
-w, --whitelist-environment=Liste
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.
-V, --version
zeigt Versionsinformationen an und beendet das Programm.
-h, --help
zeigt einen Hilfetext 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:
ENV_PATH (Zeichenkette)
definiert die Umgebungsvariable PATH für einen normalen Benutzer. Der Vorgabewert ist
/usr/local/bin:/bin:/usr/bin.
ENV_ROOTPATH (Zeichenkette), ENV_SUPATH (Zeichenkette)
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.
ALWAYS_SET_PATH (boolescher Wert)
Falls dies auf yes gesetzt ist und --login sowie --preserve-environment nicht angegeben wurden,
initialisiert runuser die Umgebungsvariable PATH.
Die Umgebungsvariable PATH kann auf Systemen, auf denen /bin und /sbin in /usr zusammengeführt sind,
anders sein. Diese Variable wird auch von der Befehlszeilenoption --login und den PAM-Systemeinstellungen
(z.B. pam_env(8)) beeinflusst.
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.
Von runuser erzeugte Exit-Status:
1
Allgemeiner Fehler vor dem Ausführen des angeforderten Befehls
126
Der angeforderte Befehl konnte nicht ausgeführt werden
127
Der angeforderte Befehl wurde nicht gefunden
DATEIEN
/etc/pam.d/runuser
Standard-PAM-Konfigurationsdatei
/etc/pam.d/runuser-l
PAM-Konfigurationsdatei, falls --login angegeben wurde
/etc/default/runuser
runuser-spezifische logindef-Konfigurationsdatei
/etc/login.defs
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/karelzak/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 <mario.blaettermann@gmail.com>
und Dr. Tobias Quathamer <toddy@debian.org> 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.
util-linux 2.37.3 24. Januar 2022 RUNUSER(1)