On Mon, Oct 10, 2011 at 13:50, Darryl Lewis <darryl.le...@unsw.edu.au> wrote:
> Something I've always wondered about, but never figured out, is how does
> apache run as 'apache user' or 'nobody' and work on a port below 1024, but
> Tomcat can't?
> Anyone got a simple explanation?
>

C (and C++ and many others) has seteuid() and fork(), Java doesn't.
Apache starts as root, binds to port 80 (therefore opens an fd on it),
then forks. The fd is inherited by the child, which calls seteuid().
Then the parent exits. Done.

-- 
Francis Galiegue
ONE2TEAM
Ingénieur système
Mob : +33 (0) 683 877 875
Tel : +33 (0) 178 945 552
f...@one2team.com
40 avenue Raymond Poincaré
75116 Paris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to