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

You forgot

    3. come up with a solution better than the one cold has.


Follow-Ups: References:

Home | Subject Index | Thread Index