su(1) ändert die Benutzer-ID oder wechselt zu Root

ÜBERSICHT

su [Optionen] [Benutzername]

BESCHREIBUNG

Der Befehl su dient dazu, während einer Sitzung ein anderer Benutzer zu werden. Wenn su ohne username aufgerufen wird, wechselt es standardmäßig zu Root. Zusätzlich kann das Argument - angegeben werden. Damit wird eine Umgebung zur Verfügung gestellt, die der entspricht, die der Benutzer nach einer direkten Anmeldung erwartet.

Zusätzliche Argumente können nach dem Benutzernamen angegeben werden. In diesem Fall werden sie an die Anmelde-Shell des Benutzers weitergereicht. Insbesondere führt das Argument -c dazu, dass das nächste Argument von den meisten Interpretatoren als Befehl behandelt wird. Dieser Befehl wird von der Shell ausgeführt, die in /etc/passwd für den Zielbenutzer angegeben ist.

Sie können das Argument -- verwenden, um Optionen für su von Argumenten für die Shell zu trennen.

Der Benutzer wird gegebenenfalls nach einem Passwort gefragt. Ungültige Passworteingaben werden eine Fehlermeldung erzeugen. Sowohl erfolgreiche als auch misslungene Versuche werden protokolliert, um Missbrauch des Systems zu entdecken.

Die aktuelle Umgebung wird an die neue Shell übergeben. Der Wert von $PATH wird für normale Benutzer auf /bin:/usr/bin gesetzt, für Root auf /sbin:/bin:/usr/sbin:/usr/bin. Dieses Verhalten kann durch die Definition von ENV_PATH und ENV_SUPATH in /etc/login.defs geändert werden.

Eine Subsystem-Anmeldung wird durch einen »*« als erstes Zeichen der Anmelde-Shell gekennzeichnet. Das angegebene Home-Verzeichnis wird als Wurzel für das Dateisystem verwendet, auf welchem der Benutzer tatsächlich angemeldet ist.

OPTIONEN

Die Optionen, die vom Befehl su unterstützt werden, sind:

-c, --command BEFEHL

gibt einen Befehl an, der von der Shell mittels ihrer Option -c ausgeführt wird

Der ausgeführte Befehl hat kein ihn steuerndes Terminal. Mit dieser Option können keine interaktiven Programme, die ein sie steuerndes TTY benötigen, ausgeführt werden.

-, -l, --login

Eine Umgebung wird zur Verfügung gestellt, die der entspricht, die der Benutzer nach einer direkten Anmeldung erwartet.

When - is used, it must be specified before any username. For portability it is recommended to use it as last option, before any username. The other forms (-l and --login) do not have this restriction.

-s, --shell SHELL

die Shell, die gestartet wird

Die aufgerufene Shell wird bestimmt durch (höchste Priorität zuerst):

die Shell, die mit --shell angegeben wurde

Falls --preserve-environment verwendet wird, die Shell, die durch die Umgebungsvariable $SHELL festgelegt wird.

die Shell, die in /etc/passwd für den Zielbenutzer angegeben ist

/bin/sh, falls durch die obigen Methoden keine Shell gefunden werden kann

Falls der Zielbenutzer eine beschränkte Shell hat (d.h. das Feld für die Shell im Eintrag des Benutzers in /etc/passwd ist nicht in /etc/shells) aufgeführt), werden die Option --shell und die Umgebungsvariable $SHELL nicht beachtet, sofern su nicht von Root aufgerufen wird.

-m, -p, --preserve-environment

Erhält die aktuelle Umgebung mit Ausnahme von:

$PATH

auf den Ausgangswert entsprechend der Optionen ENV_PATH oder ENV_SUPATH in /etc/login.defs zurücksetzen (siehe unten);

$IFS

auf Bq<space><tab><newline>" zurücksetzen, falls es verändert wurde

Falls der Zielbenutzer eine beschränkte Shell besitzt, hat diese Option keinen Effekt (sofern su nicht von Root aufgerufen wird).

Beachten Sie, dass Folgendes das Standardverhalten für die Umgebung ist:

Die Umgebungsvariablen $HOME, $SHELL, $USER, $LOGNAME, $PATH und $IFS werden zurückgesetzt.

Falls nicht --login verwendet wurde, wird die Umgebung mit der Ausnahme der genannten Variablen kopiert.

Falls --login verwendet wurde, werden die Variablen $TERM, $COLORTERM, $DISPLAY und $XAUTHORITY übernommen, wenn ihnen ein Wert zugewiesen wurde.

Andere Umgebungen können auch durch PAM-Module eingerichtet werden.

WARNUNGEN

Diese Version von su hat viele Kompilierungsoptionen. Deren Nützlichkeit hängt von den Anforderungen der jeweiligen Umgebung ab.

KONFIGURATION

Die folgenden Konfigurationsvariablen in /etc/login.defs beeinflussen das Verhalten dieses Werkzeugs:

CONSOLE_GROUPS (Zeichenkette)

Liste von Gruppen, deren Mitglied der Benutzer wird, wenn der sich auf der Konsole anmeldet, die mit dem Parameter CONSOLE festgelegt wird. Standardmäßig ist die Liste leer.

Seien Sie vorsichtig. Benutzer können dauerhaft Zugang zu den Gruppen erlangen, auch wenn sie nicht auf der Konsole angemeldet sind.

DEFAULT_HOME (boolesch)

Legt fest, ob ein Login erlaubt wird, wenn mit cd nicht in das Home-Verzeichnis gewechselt werden kann. Standardmäßig wird dies nicht zugelassen.

Falls auf yes gesetzt, wird der Benutzer mit dem Wurzelverzeichnis (/) angemeldet, wenn mit cd nicht in sein Home-Verzeichnis gewechselt werden kann.

ENV_PATH (Zeichenkette)

Wenn gesetzt, wird damit die Umgebungsvariable PATH definiert, wenn sich ein normaler Benutzer anmeldet. Der Wert ist eine Liste, deren Einträge durch Doppelpunkte getrennt sind (zum Beispiel /bin:/usr/bin). Ihr kann ein PATH= vorangestellt werden. Der Standardwert ist PATH=/bin:/usr/bin.

ENV_SUPATH (Zeichenkette)

Wenn gesetzt, wird damit die Umgebungsvariable PATH definiert, wenn sich der Superuser anmeldet. Der Wert ist eine Liste, deren Einträge durch Doppelpunkte getrennt sind (zum Beispiel /sbin:/bin:/usr/sbin:/usr/bin). Ihr kann ein PATH= vorangestellt werden. Der Standardwert ist PATH=/sbin:/bin:/usr/sbin:/usr/bin.

SULOG_FILE (Zeichenkette)

Wenn angegeben, wird jeder Aufruf von su in dieser Datei protokolliert.

SU_NAME (Zeichenkette)

Damit kann die Anzeige des Namens des Befehls festgelegt werden, wenn »su -« ausgeführt wird. Wenn beispielsweise dies auf »su« gesetzt wurde, zeigt »ps« den Befehl als »-su« an. Wenn es dagegen nicht vergeben wurde, wird »ps« den Namen der Shell anzeigen, die ausgeführt wird, also etwa »-sh«.

SYSLOG_SU_ENAB (boolesch)

aktiviert das Protokollieren der Aktivitäten von su in »syslog« neben der Protokollierung in der sulog-Datei

DATEIEN

/etc/passwd

Informationen zu den Benutzerkonten

/etc/shadow

verschlüsselte Informationen zu den Benutzerkonten

/etc/login.defs

Konfiguration der Shadow-Passwort-Werkzeugsammlung

RÜCKGABEWERTE

Wenn su erfolgreich ausgeführt wird, gibt es den Rückgabewert des mit ihm ausgeführten Befehls zurück.

Wenn dieser Befehl mit einem Signal beendet wurde, gibt su die Nummer des Signals plus 128 zurück.

Wenn su den Befehl mit kill beenden musste (weil er der Aufforderung, sich zu beenden, nicht rechtzeitig nachgekommen ist), gibt es 255 zurück.

Einige Rückgabewerte von su sind unabhängig von dem ausgeführten Befehl:

0

Erfolg (nur bei --help)

1

System- oder Anmeldefehler

126

Der angegebene Befehl konnte nicht gefunden werden.

127

Der angegebene Befehl konnte nicht ausgeführt werden.