bind port < 1024
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Neděle Duben 8 20:10:36 CEST 2001
On Fri, 6 Apr 2001, iko wrote:
> potrebujem povolit urcitemu procesu/programu sa napichnut na port
> http, smtp a tak dalej, ale nechcem ho pustat ako roota.
To neni tak uplne trivialni.
K podobnemu ucelu je urcena jedna "capability" (uvozovky jsou na miste),
jenze ty jsou zatim skoro nepouzitelne -- aspon pokud mluvime o
nemodifikovanych jadrech rady 2.2 --, protoze nelze rozumne pridelit
zadna privilegia programum, co nebezi po rootem. (Pokud nekdo vi jak,
rad se poucim.)
Dalsi moznost je z toho programu spustit maly pomocny program, co ma
setuid na roota, ktery pouze provede volani bind() na ten socket a skonci,
a tento pomocny program spustit misto toho, aby hlavni program volal
bind() sam.
Take sveho casu existoval patch, tusim od Malcoma Beattieho, ktery
vytvoril specialni filesystem (sockfs). V nem jsou virtualni soubory
predstavujici jednotlive porty < 1024 a zmenou jejich pristupovych prav
lze zpristupnit tyto porty i neprivilegovanym uzivatelum.
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."
Další informace o konferenci Linux