Hallo, Mario :-)

Eigentlich beantwortet das Deine Frage doch fast schon selbst :-) Oder
anders, warum nimmst Du 'su -' und nicht 'su'?

>        -, -l, --login
>               mache die Shell zur Loginshell

Wenn Du 'su -' verwendest, dann bekommst Du einen komplette Loginshell,
so als wenn Du Dich direkt als root (oder auf Wunsch auch mit 'su - foo'
als Nutzer foo) angemeldtet hättest, incl. Startskripte, Umgebung etc.
und landest auch im Home-Verzeichnis des Users.

Bei einem reinen 'su' hingegen bleibst Du wo Du bist (Directory) und
änderst nur Deine UID - d.h. aber auch, dass dann auch so Sachen wie
Pfade nicht gesetzt werden (fällt mir /usr/sbin spontan ein, wo ich
öfter drüber gestolpert bin) und die Umgebungsvariablen auch nicht.

>        -c, --commmand=COMMAND
>               gib einen einzelnen BEFEHL an die Shell

Und das hier führt eben nur ein einzelnes Kommando als ein anderer User
aus und ich muss die Shell nicht wieder beenden. Okay, für ein apt-get
ist das vielleicht nicht so tragisch, aber in Skripten macht sich das
ganz gut - besonders wenn ich als root-Job unter einer anderen UID ein
Programm starten muss.

Cheers,
Jan



Attachment: signature.asc
Description: OpenPGP digital signature

Antwort per Email an