runuser(1) einen Befehl mit ersetzter Benutzer- und Gruppen-ID ausführen

ÜBERSICHT

runuser [Optionen] -u Benutzer Befehl [Argument …]

runuser [Optionen] [-] [Benutzer [Argument…]]

BESCHREIBUNG

runuser führt Befehle aus, wobei die Benutzer- und Gruppen-IDs 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 suid-Zugriffsrechten installiert werden.

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.

OPTIONEN

-c, --command=Befehl
übergibt einen Befehl an die Shell mit der Option -c.
-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
legt eine ergänzende Gruppe fest. Diese Option ist nur dem Benutzer »root« verfügbar. Die erste festgelegte ergänzende Gruppe wird auch als primäre Gruppe benutzt, falls die Option --group nicht festgelegt wurde.
-, -l, --login
startet die Shell als Anmelde-Shell mit einer Umgebung ähnlich einer realen Anmeldung:
  • leert alle Umgebungsvariablen außer TERM
  • 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
-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 Voreinstellung aus. Die auszuführende Shell wird entsprechend der folgenden Regeln in dieser Reihenfolge gewählt:
  • die mit --shell angegebene Shell
  • die in der Umgebungsvariable SHELL angegebene Shell, wenn die Option --preserve-environment nicht verwendet wird
  • die im Passworteintrag des Zielbenutzers aufgelistete 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, aber erzeugt keine neue Sitzung (nicht empfehlenswert).
-V, --version
zeigt Versionsinformationen an und beendet das Programm.
-h, --help
zeigt diese Hilfe 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. Der Vorgabewert ist /usr/local/sbin::/usr/local/bin::/sbin::/bin::/usr/sbin::/usr/bin.

ALWAYS_SET_PATH (boolesch)

Falls dies auf yes gesetzt ist und --login sowie --preserve-environment nicht angegeben wurden, initialisiert runuser die Umgebungsvariable PATH.

RÜCKGABEWERT

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
Ein allgemeiner Fehler trat vor dem Ausführen des angeforderten Befehls auf.
126
Der angeforderte Befehl konnte nicht ausgeführt werden.
127
Der angeforderte Befehl wurde nicht gefunden.

DATEIEN

/etc/pam.d/runuser
vorgegebene PAM-Konfigurationsdatei
/etc/pam.d/runuser-l
PAM-Konfigurationsdatei, wenn --login angegeben ist
/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.

VERFÜGBARKEIT

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 <[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 <[email protected]>.