Das Programm su (Abkürzung für englisch substitute user ‚wechsle Benutzer‘) dient auf Unix- und unixoiden Betriebssystemen dazu, den Benutzerkontext zu wechseln und damit Programme unter einer anderen Benutzer-ID auszuführen. Es gehört zu den essentiellen Systemverwaltungswerkzeugen von Unix-Systemen.
Die Syntax ist su benutzername
. Ohne Angabe eines Benutzernamens wechselt su
nach einer Passwortabfrage zum Benutzer root. Die Befehle 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. 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
oder durch Senden des „End of File“-Signals/-Zeichens (EOF) durch Drücken der Tastenkombination Strg+D gelangt man zum ursprünglichen Benutzer und seinen Rechten zurück.
Bei einigen Systemen ist das root-Konto standardmäßig deaktiviert; statt su
wird sudo
empfohlen, das keine eigene Subshell startet, sondern lediglich den mitangegebenen Befehl unter Administratorrechten ausführt.
Die meisten BSD-Varianten einschließlich macOS 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-Implementierung des Programms, die David MacKenzie programmierte, übernommen. Stallman argumentierte, dass eine derartige Beschränkung die Macht einiger weniger Systemadministratoren zementiere.
Weblinks
su(1)
: substitute user identity – OpenBSD General Commands Manualsu(1)
: ändert die Benutzer-ID oder wechselt zu Root – Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite