runuser - einen Befehl mit ersetzter Benutzer- und Gruppenkennung
ausführen
ÜBERSICHT
runuser [Optionen] -u Benutzer [[--]
Befehl [Argument…]]
runuser [Optionen] [-] [Benutzer
[Argument…]]
runuser führt Befehle aus, wobei die Benutzer- und
Gruppenkennung ersetzt werden. Wenn die Option -u nicht verwendet
wird, dann weicht es 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.
- -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
jeweiligen Shell nützlich sein kann oder 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:
- o
- leert alle Umgebungsvariablen außer TERM und die durch
--whitelist-environment festgelegten
- o
- initialisiert die Umgebungsvariablen HOME, SHELL,
USER, LOGNAME und PATH
- o
- wechselt in das Home-Verzeichnis des Zielbenutzers.
- o
- setzt argv[0] der Shell auf »-«, um die Shell zur
Anmelde-Shell zu machen.
- -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:
- o
- die durch --shell angegebene Shell
- o
- die in der Umgebungsvariable SHELL angegebene Shell, wenn die
Option --preserve-environment nicht verwendet wird
- o
- die im »passwd«-Eintrag des Zielbenutzers angegebene
Shell
- o
- /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, aber erzeugt keine neue Sitzung (nicht
empfehlenswert).
- -w,
--whitelist-environment=Liste
- setzt in der Kommata-getrennte Liste festgelegte 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 diese Hilfe an und beendet das Programm.
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. 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.
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
- /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
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.
Der Befehl runuser ist Teil des Pakets util-linux, welches aus dem
Linux
Kernel-Archiv. heruntergeladen werden kann.
Ü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
<debian-l10n-german@lists.debian.org>.