Christian Seiler: Verständnisfehler Set-UID

Beitrag lesen

Hallo Dennis,

Woran liegt es also, dass der effektiv das Script ausführende User nicht vps ist?

Ok, unter UNIX hat ein Prozess traditionell _DREI_ verschiedene UIDs:

* Die reale User-ID
 * Die effektive User-ID
 * Die Saved-Set-User-ID

Ich könnte jetzt ziemlich ins Detail gehen und ne ganze Menge rumerklären dazu, allerdings genügt hier nur folgende Erklärung: Punkt 1: Es kommt fast immer auf die effektive User-ID an. Punkt 2: Wenn Du ein setuid-Progrmam hast, dann wird *nicht* sofort die effektive User-ID gesetzt, das Programm muss zuerst den Systemaufruf setuid() mit der User-ID der Datei selbst als Parameter aufrufen. *Dann* erst wird die effektive User-ID auf die User-ID des Users vps (in Deinem Fall) gesetzt.

Mir ist leider keine Möglichkeit bekannt, dies in Shell-Scripts zu tun. Du müsstest einen kleinen C-Wrapper schreiben, der das Shell-Script ausführt, damit das geht. Wenn jemand ne bessere Möglichkeit kennt, das sogar im Shellscript zu machen: Immer her damit. ;-)

Viele Grüße,
Christian

--
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup