su (superuser) ändert User- und Gruppen-ID
su [-flmp] [-c Befehl] [-s Shell] [-login] [-fast] [-preserve-environment] [-command=Befehl] [-shell=Shell] [-] [ Name [Argument ...]]
su startet eine neue Shell unter einer neuen Benutzerkennung (UID) und Gruppenkennung (GID). Wie bei einem neuen Login wird das Paßwort des Benutzers abgefragt. Wenn kein Name angegeben ist, wird zur ID 0 gewechselt, man ändert die ID also in die der ,,Superuserin``. Allein sie kann mit dem su-Kommando die Identität jedes beliebigen Benutzers annehmen, ohne nach einem Paßwort gefragt zu werden. Damit (und nur damit) ist es möglich, auch unter den Verwaltungsnamen wie bin, news oder daemon zu arbeiten, die normalerweise durch ein Sperrpaßwort gesichert werden.
Ohne weitere Optionen wechselt das su-Kommando das Arbeitsverzeichnis nicht, setzt aber die Umgebungsvariablen HOME und SHELL auf die neuen Werte aus /etc/passwd. Wenn die neue Identität nicht die der Superuserin ist, wird auch die LOGNAME Umgebungsvariable entsprechend verändert.
In keinem Fall wird von su ein Eintrag in der Datenbank /etc/utmp angelegt. Das bedeutet, daß ein ,,Login`` mit su nicht mit last oder who angezeigt wird. Insbesondere geben auch das loginname-Kommando und die getlogin(3) Bibliotheksfunktion weiterhin den ursprünglichen Loginnamen aus.
Wenn außer dem Namen weitere Argumente in der Kommandozeile angegeben sind, werden sie der Shell übergeben.