su (Unix)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Das Kommando su (substitute user identity) dient auf Unix-Derivaten (z. B. AIX, BSD, Linux und Solaris) dazu, den Benutzerkontext zu wechseln und damit Programme unter einer anderen Benutzer-ID auszuführen. Es gehört zu den essentiellen Systemverwaltungswerkzeugen von Unix.

Die Syntax ist su benutzername. Ohne Aufruf des Benutzernamens wechselt su nach einer Passwortabfrage zum Benutzer root. su - oder su -l simulieren einen kompletten Login-Vorgang, d. h. es werden das komplette Profil des neuen Benutzers eingelesen und die Umgebungsvariablen neu gesetzt.

Das Kommando taucht bereits in den ältesten Unix-Versionen von AT&T auf, in Version 7 allerdings noch völlig ohne dokumentierte Optionen. Heute wird jedes Unix mit su ausgeliefert.

Um Missbrauch zu verhindern, zeichnen die meisten Systeme alle geglückten und missglückten Login-Versuche mit su in den System-Logdateien auf.

Mit dem Befehl exit gelangt man zum ursprünglichen Benutzer und seinen Rechten zurück.

Unter Mac OS X ist das root-Konto standardmäßig deaktiviert, statt su wird das Kommando sudo empfohlen, das keine eigene Subshell startet, sondern lediglich den mitangegebenen Befehl unter Administratorrechten ausführt.

Die meisten BSD-Varianten und Mac OS X beschränken den Gebrauch von su auf Mitglieder der Gruppen wheel und admin. Aufgrund einer Entscheidung von GNU-Projekt-Gründer Richard Stallman wurde diese Eigenschaft nicht in die GNU-Version des Kommandos, die David MacKenzie programmierte, übernommen. Stallman argumentierte, dass eine derartige Beschränkung die Macht einiger weniger Systemadministratoren zementiere.

Weblinks[Bearbeiten]