RUNUSER(1) | Dienstprogramme für Benutzer | RUNUSER(1) |
BEZEICHNUNG¶
runuser - einen Befehl mit ersetzter Benutzer- und Gruppenkennung ausführen
ÜBERSICHT¶
runuser [options] -u user [[--] command [argument...]]
runuser [options] [-] [user [argument...]]
BESCHREIBUNG¶
runuser can be used to run commands with a substitute user and group ID. If the option -u is not given, runuser falls back to su-compatible semantics and a shell is executed. The difference between the commands runuser and su is that runuser does not ask for a password (because it may be executed by the root user only) and it uses a different PAM configuration. The command runuser does not have to be installed with set-user-ID permissions.
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.
Seit Version 2.38 setzt runuser die Ressourcenbegrenzungen RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS und RLIMIT_NOFILE des Prozesses zurück.
OPTIONEN¶
-c, --command=Befehl
-f, --fast
-g, --group=Gruppe
-G, --supp-group=Gruppe
-, -l, --login
-m, -p, --preserve-environment
-P, --pty
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.
-s, --shell=Shell
Falls der Zielbenutzer eine eingeschränkte Shell hat (d.h. die nicht in /etc/shells aufgelistet ist), werden die Option --shell und die Umgebungsvariable SHELL ignoriert, außer wenn der aufrufende Benutzer Root ist.
--session-command=Befehl
-T, --no-pty*
-w, --whitelist-environment=Liste
-h, --help
-V, --version
KONFIGURATIONSDATEIEN¶
runuser reads the /etc/default/runuser and /etc/login.defs configuration files. The following configuration items are relevant for runuser:
ENV_PATH (Zeichenkette)
ENV_ROOTPATH (Zeichenkette), ENV_SUPATH (Zeichenkette)
ALWAYS_SET_PATH (boolescher Wert)
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 normally returns the exit status of the command it executed. If the command was killed by a signal, runuser returns the number of the signal plus 128.
Von runuser erzeugter Exit-Status:
1
126
127
DATEIEN¶
/etc/pam.d/runuser
/etc/pam.d/runuser-l
/etc/default/runuser
/etc/login.defs
GESCHICHTE¶
Dieser runuser-Befehl 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¶
Nutzen 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 aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann.
2024-04-27 | util-linux 2.40 |