plucky (1) su.1.gz

Provided by: util-linux-locales_2.40.2-14ubuntu1_all bug

BEZEICHNUNG

       su - einen Befehl unter anderer Benutzer- und Gruppenkennung ausführen

ÜBERSICHT

       su [Optionen] [-] [Benutzer [Argument...]]

BESCHREIBUNG

       su ermöglicht es, Befehle unter anderer Benutzer- und Gruppenkennung auszuführen.

       Wenn beim Aufruf kein Benutzer angegeben wird, öffnet su standardmäßig eine interaktive Shell als_root_.
       Wenn ein Benutzer angegeben wird, können zusätzliche Argumente übergeben werden, wobei diese an die Shell
       weitergeleitet werden.

       Aus Gründen der Abwärtskompatibilität wechselt su standardmäßig nicht das aktuelle Verzeichnis und setzt
       lediglich die Umgebungsvariablen HOME und SHELL (plus USER und LOGNAME, falls der Ziel-Benutzer nicht
       Root ist). Es wird empfohlen, stets die Option --login (statt deren Kurzform - zu verwenden, um durch
       Mischen der Umgebungen verursachte Nebenwirkungen zu vermeiden.

       Diese Version von su verwendet PAM zur Authentifizierung sowie für die Benutzerkonten- und
       Sitzungsverwaltung. Einige der in anderen su-Implementationen verfügbaren Konfigurationsoptionen, wie die
       Unterstützung für eine Gruppe »wheel«, müssen über PAM konfiguriert werden.

       su zielt vorrangig auf nicht privilegierte Benutzer ab. Die empfohlene Lösung für privilegierte Benutzer
       (zum Beispiel durch Root ausgeführte Skripte) ist der Befehl runuser(1), der keine Benutzerkennung setzt,
       keine Authentifizierung erfordert und eine separate PAM-Konfiguration bereitstellt. Falls keine
       PAM-Sitzung erforderlich ist, wird empfohlen, den Befehl setpriv(1) zu verwenden.

       Beachten Sie, dass su in allen Fällen PAM (pam_getenvlist(3)) 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 su 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 jeweiligen Shell nützlich sein kann oder nicht.

       -g, --group=Gruppe
           gibt die primäre Gruppe an. Diese Option ist nur für den Benutzer Root verfügbar.

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

           Note that on systemd-based systems, a new session may be defined as a real entry point to the system.
           However, su does not create a real session (by PAM) from this point of view. You need to use tools
           like systemd-run or machinectl to initiate a complete, real session.

           su tut Folgendes:

           •   löscht alle Umgebungsvariablen außer TERM und jene, die durch --whitelist-environment angegeben
               wurden.

           •   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
           erhält die gesamte Umgebung, was bedeutet, dass weder HOME noch SHELL, USER oder LOGNAME gesetzt
           werden. Diese Option wird ignoriert, wenn die Option --login angegeben ist.

       -P, --pty
           erzeugt ein Pseudo-Terminal für die Sitzung. Das unabhängige Terminal erhöht die Sicherheit, da der
           Benutzer sein Terminal nicht mit der ursprünglichen Sitzung gemeinsam nutzt. Dadurch wird es möglich,
           TIOCSTI-Terminalinjizierung via ioctl und weitere Sicherheitsangriffe gegen
           Terminal-Dateideskriptoren zu verhindern. Die gesamte Sitzung kann auch in den Hintergrund verschoben
           werden, (zum Beispiel su --pty - Benutzername -c Anwendung &). Wenn das Pseudo-Terminal aktiviert
           ist, dann fungiert su als Proxy zwischen den Sitzungen (Standardein- und -ausgabe werden
           synchronisiert).

           Diese Funktion ist vorwiegend für interaktive Sitzungen gedacht. Falls die Standardeingabe kein
           Terminal ist, sondern beispielsweise eine Pipe (zum Beispiel echo "date" | su --pty), dann wird der
           ECHO-Schalter für das Pseudo-Terminal deaktiviert, um unordentliche Ausgaben zu vermeiden.

       -s, --shell=Shell
           führt die angegebene Shell anstelle der Vorgabe aus. 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.

           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

       --session-command=Befehl
           ist gleichbedeutend mit -c, erzeugt aber keine neue Sitzung (davon wird abgeraten).

       -T, --no-pty*
           Do not create a pseudo-terminal, opposite of --pty and -P. Note that running without a
           pseudo-terminal opens the security risk of privilege escalation through TIOCSTI/TIOCLINUX ioctl
           command injection.

       -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 Versionsinformationen an und beendet das Programm.

SIGNALE

       Nach dem Empfang von SIGINT, SIGQUIT oder SIGTERM beendet su seinen Kindprozess und anschließend sich
       selbst mit dem empfangenen Signal. Der Kindprozess wird durch SIGTERM beendet, nach einem
       fehlgeschlagenen Versuch und zwei Sekunden Verzögerung wird der Kindprozess mit SIGKILL getötet.

KONFIGURATIONSDATEIEN

       su liest die Konfigurationsdateien /etc/default/su und /etc/login.defs. Die folgenden
       Konfigurationseinträge sind für su relevant:

       FAIL_DELAY (Zahl)
           gibt die Verzögerung in Sekunden im Falle eines Authentifizierungsfehlers an. Die Zahl muss eine
           nichtnegative Ganzzahl sein.

       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)
           Wenn auf yes gesetzt und --login und --preserve-environment nicht angegeben wurden, initialisiert su
           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

       su gibt normalerweise den Rückgabewert des Befehls aus, den es ausgeführt hat. Wenn der Befehl von einem
       Signal beendet wurde, gibt su die Signalnummer plus 128 zurück.

       Von su selbst erzeugte Rückgabewerte:

       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/su
           Standard-PAM-Konfigurationsdatei

       /etc/pam.d/su-l
           PAM-Konfigurationsdatei, falls --login angegeben wurde

       /etc/default/su
           Befehlsspezifische Logindef-Konfigurationsdatei

       /etc/login.defs
           Globale Logindef-Konfigurationsdatei

ANMERKUNGEN

       Aus Sicherheitsgründen protokolliert su alle fehlgeschlagenen Anmeldeversuche in der bmtp-Datei, schreibt
       jedoch nichts in die lastlog-Datei. Diese Lösung erlaubt die Steuerung des Verhaltens von su durch die
       PAM-Konfiguration. Wenn Sie das Modul pam_lastlog(8) zur Ausgabe von Warnmeldungen zu fehlgeschlagenen
       Anmeldeversuchen verwenden wollen, dann muss pam_lastlog(8) so konfiguriert werden, dass es ebenfalls die
       lastlog-Datei aktualisiert. Zum Beispiel durch:

          session required pam_lastlog.so nowtmp

GESCHICHTE

       Der Befehl su wurde aus dem su der GNU Coreutils abgeleitet, das auf einer Implementation von David
       MacKenzie basiert. Die Version für Util-linux wurde von Karel Zak restrukturiert.

SIEHE AUCH

       setpriv(1), login.defs(5), shells(5), pam(8), runuser(1)

FEHLER MELDEN

       Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem auf
       https://github.com/util-linux/util-linux/issues.

VERFÜGBARKEIT

       Der Befehl su ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv
       <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann.