Otazka ohledne httpd

Leos Bitto bitto na atrey.karlin.mff.cuni.cz
Neděle Listopad 30 22:58:20 CET 1997


On Fri, 28 Nov 1997, Michal Krause wrote:

> Leos Bitto wrote:
> > b) I kdyby cgi scripty povolene byly, apache je bude poustet s pravy
> >    vlastnika, protoze pouzivam suexec. Viz dokumentace k Apache 1.2.
> >    Reseni kdy jsou vsechny cgi scripty poustene pod stejnymi pravy jsem
> >    zavrhnul okamzite jakmile jsem se na to podival, a protoze tenkrat
> >    jeste nebyl suexec tak jsem do Apache 1.0 delal vlastni patche aby
> >    poustel cgi-scripty s pravy vlastnika souboru (pokud to nebyl root, pak
> >    to spustit odmitlo). Taky to fungovalo dobre.
> *** Asi tomu dobre nerozumim, ale jak lze spoustet program s pravy roota
> a byt nekdo jiny (tedy s mensimi pravy) ? Nebo Ti snad bezi WEB server
> jako root ? To snad ne ! Ale delam do Linuxu kratce, takze jeste v
> tehlech vecech plavu. Asi jenom nechapu situaci =);-)
> 
>                                       Mike

Jsou tu dve ruzna reseni:

dokud nebyl ten progarmek suexec (pred verzi 1.2), delal jsem si do Apache
vlastni patch. Pak skutecne server bezel s pravy roota a kdyz potreboval
spustit nejaky cgi script nebo provest <!--#exec --> v shtml tak teprve
prepnul prava.

Ted uz ale ve standardni distribuci Apache je programek suexec, ktery je
velice maly (aby v nem bylo co nejmene chyb :-)) a ma suid bit takze bezi
s pravy roota, at ho spusti kdokoliv. Jenze kdyz ho spusti nekdo jiny nez
uzivatel s jehoz pravy bezi Apache (doporucuje se pro to zavest vyhrazeny
ucet), tak hned skonci. A Apache s jeho pomoci spousti cgi scripty tak,
aby bezely s pravy uzivatele ktery je vytvoril. Ten suexec dela jeste
spoustu dalsich kontrol, viz dokumentace k Apache. Vypada to tedy takhle:

Apache (user=apache) --> suexec (user=root) --> cgi skript (user=pepa).
                      ^                      ^
Zmena uid povolena,   |                      |
duvod:                suid bit               uid=0




Leos Bitto



Další informace o konferenci Linux