[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: su und su - liefern anderen $PATH



Hallo,

Heino Tiedemann schrieb:

Birgit.Gutberlet@t-online.de (Roland M. Kruggel) wrote:

ridcully:/home/rotkap> su
Password:
ridcully:/home/rotkap# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/l
ocal/bin ridcully:/home/rotkap# exit
exit
ridcully:/home/rotkap> su -
Password:
ridcully:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr
/bin/X11 ridcully:~#

su läd die /etc/profile nicht neu. Also werden die Pfade auch nicht neu gesetzt.

Leider doch

Du behälst den alten Pfad.

Schön wär's

ridcully:/home/rotkap> whoami
rotkap
ridcully:/home/rotkap> echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games
ridcully:/home/rotkap> su
Password:
ridcully:/home/rotkap# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin
ridcully:/home/rotkap#

ich mische mich mal ein :-)
Irgendwie hat hier fast jeder Recht, abhängig von der Distri, auf die Mensch sich bezieht. Ich beziehe mich jetzt auf ein frisch installiertes Debian und lasse die Ausgaben von echo $PATH mal weg.

Folgende Dateien sind an dem Ganzen beteiligt:
1. /etc/login.defs
2. /etc/profile
3. ~/.profile (manchmal)

<Scenario1>
1. Normaler Benutzer meldet sich an, seine $PATH wird aufgrund der
   Einstellungen in /etc/profile gesetzt (bourneshell, bash, ash
   etc.)
2. Normaler Benutzer setzt ein su ab und erhält in $PATH die Pfade,
   welche in /etc/login.defs: ENV_SUPATH stehen.
3. Normale Benutzer setzt ein su - ab und erhält in $PATH die Pfade,
   welche in /root/.profile stehen.
</Scenario1>

<Scenario2>
1. root meldet sich an seine $PATH wird aufgrund der Einstellungen
   in /root/.profile gesetzt.
2. root setzt ein su $user ab und erhält in $PATH die Pfade, welche
   in /etc/login.defs: ENV_PATH stehen.
3. root setzt ein su - $user ab und erhält in $PATH die Pfade,
   welche in /etc/profile stehen.
</Scenario2>

Aber wie gesagt, alles unter der Voraussetzung, das in den Homedirs bisher nichts verändert wurde, was zu einem Überschreiben von $PATH führt.

Heino

HTH
Reinhold





Reply to: