Runuser

Aus Foxwiki

runuser - Befehle mit ersetzter Benutzer- und Gruppenkennung ausführen

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

Ursprung

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

Installation

runuser ist Teil des Pakets util-linux, das auf allen Linux-Systemen installiert sein sollte

Anwendung

Fehlerbehebung

Syntax

runuser [Optionen] -u ''Benutzer'' [[--] ''Befehl'' [''Argument''...]]
runuser [Optionen] [-] [''Benutzer'' [''Argument''...]]

Optionen

Parameter

Umgebungsvariablen

Exit-Status

runuser gibt normalerweise den Exit-Status des Befehls zurück, den es ausgeführt hat

  • Wenn der Befehl durch ein Signal beendet wurde, gibt runuser die Nummer des Signals plus 128 zurück

Von runuser erzeugter Exit-Status

Wert Beschreibung
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

Konfiguration

Dateien

runuser liest die Konfigurationsdateien

  • /etc/default/runuser
  • /etc/login.defs

Konfigurationseinträge 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

Option Beschreibung
/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


Anhang

Siehe auch


Dokumentation

Man-Pages
2023-07-24 util-linux 2.39.1
Source file: runuser.1.de.gz (from util-linux-locales 2.40.1-2)
Source last updated: 2024-05-26T13:52:22Z
Converted to HTML: 2024-05-30T03:43:06Z
Info-Pages

Links

Projekt
Weblinks
  1. https://manpages.debian.org/testing/util-linux-locales/runuser.1.de.html

TMP