Next: sum
Up: Von GNU's, Muscheln und
Previous: stty
Subsections
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.
- -f
- (fast) startet die Shell mit der Option `-f', die bei der (t)csh das Lesen der
Initialisierungsdatei unterdrückt; bei der bash wird die Pfadnamenerweiterung
unterdrückt, was nicht unbedingt das gewünschte Verhalten ist
- -l
- (login) die Shell wird aufgerufen wie bei einem
login als Name; es werden alle Umgebungsvariablen außer
TERM, HOME und SHELL entfernt, der Pfad auf einen
eincompilierten Wert gesetzt und ein `-' als erstes Zeichen in die
Kommandozeile beim Aufruf der Shell geschrieben; daraufhin startet die
Shell als Loginshell mit den entsprechenden Initialisierungen; die LOGNAME Variable wird auch für die Superuserin neu gesetzt
- -p und -m
- (preserve environment) erhält die alte
Systemumgebung, das heißt die Umgebungsvariablen HOME, SHELL, USER und LOGNAME werden nicht verändert; es
wird die in der Umgebungsvariablen SHELL bestimmte Shell
gestartet, wenn nicht mit der `-s' Option eine andere Shell
angegeben ist
- -c Befehl [Argument
]
- führt nur den Befehl mit dem Argument aus
- -s Shell
- startet die Shell anstelle der
in der Paßwortdatei festgelegten Shell (bzw. /bin/sh)
newgrp
David MacKenzie
Next: sum
Up: Von GNU's, Muscheln und
Previous: stty
Das Linux Anwenderhandbuch
(C) 1997
LunetIX