Zeitauskunft (war: Re: [linux-l] Dateien mit '/' im Dateinamen)

Oswald Buddenhagen ossi at kde.org
Do Jul 31 11:19:48 CEST 2003


On Thu, Jul 31, 2003 at 10:08:32AM +0200, Stefan Bund wrote:
> Warum f?ngt man nicht einfach s?mtliche exec() aufrufe ab. Wenn das
> zu-execende Program setuid ist, wird statt dess Programms ein
> setuid-root Wrapper ausgef?hrt, welcher
> 
>  a) LD_LIBRARY_PRELOAD wieder setzt
>  b) Anhand der Rechte des auszuf?hrenden Programmes seine UID/GID
>     umbiegt
die ruid oder die euid?
die euid ist schon umgebogen, weil dein wrapper ja setuid ist.
die ruid kannst du nicht einfach der euid gleich machen, weil das
programm dann wirklich als root läuft - dann kannst du es auch gleich
als root starten.

>  c) Das eigentlich auszuf?hrende Programm startet
>
damit bist du wieder am anfang. der punkt is nämlich nicht irgendein
dateirecht, sondern die bedingung
 if (getuid() != geteuid() || getgid() != getegid())
im dynlinker (der im prinzip teil des aufgerufenen programms ist).

gruß

-- 
Hi! I'm a .signature virus! Copy me into your ~/.signature, please!
--
Chaos, panic, and disorder - my work here is done.



Mehr Informationen über die Mailingliste linux-l