Provided by: manpages-de_4.15.0-9_all bug

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.

       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
           ü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 (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.

       -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.

       -h, --help
           zeigt einen Hilfetext an und beendet das Programm.

       -V, --version
           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:

       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/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
       <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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.