MOO-cows Mailing List Archive
Re: Fun with FUP and root.
On Thursday, Feb 27, 1997, Brandon Gillespie writes:
>Cold essentially does as suggested, and more. You can specify a 'prebind'
>option when you run cold which tells it what port/address/protocol
>(TCP/UDP) to bind to--and you can specify it multiple times. Furthermore,
>you can also tell it what user/group to setuid to after it binds what it
>needs. Basically running cold as:
> genesis -p x.x.x.x:80 -p y.y.y.y:-30 -p :25 -u cold -g cold
>Will prebind (TCP) port '80' on address x.x.x.x, prebind (UDP) port '30'
>on address y.y.y.y (negative ports specify udp vs tcp to Cold) and will
>prebind all addresses on port 25. It'll then setuid to the user/group
>'cold' and later, when the database calls bind_port() it'll simply use the
>prebound ports. The implementation is simple enough, and since it
>setuid's before forking it also clears up any problems where the driver
>may be able to setuid back to root (ohyeah--cold always forks off like a
>standard daemon, unless you tell it not too).
>Pick one of two options:
> 1. use cold--its faster, more powerful and generally better 8)
You forgot to add 'less stable' and 'generally buggier'.
> 2. steal the stuff I did for cold and put it into MOO
3. come up with a solution better than the one cold has.
Subject Index |