Hi all,

I manage the Information Security of a major financial institution.

How do I get Apache to run as non-root user?  As you can see below,
inspite of setting in httpd.conf, Apache is listening on port 8080 as
root.

I googled around, but could not find a way to start Apache as "apache".
Some web pages/emails claim that Apache starts as root, and then switches
to user "apache". After connecting to port 8080 using telnet, I do not see
any new httpd process created.  So, I do not trust these claims.

None of the docs is definitive. Why should the program start as root in
the first place?  Can anyone help me?


--Sudhakar

#before telnet port 8080

[EMAIL PROTECTED] ~]# !ps
ps aux|grep httpd
root     19828  0.0  1.9  25996  9996 ?        Ss   10:14   0:00
/usr/sbin/httpd
apache   19830  0.0  1.0  25996  5628 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19831  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19832  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19833  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19834  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19835  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19836  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19837  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
root     19906  0.0  0.1   3880   664 pts/2    R+   10:30   0:00 grep
httpd

# after telneting to port 8080:

[EMAIL PROTECTED] ~]# ps aux|grep httpd
root     19828  0.0  1.9  25996  9996 ?        Ss   10:14   0:00
/usr/sbin/httpd
apache   19830  0.0  1.0  25996  5628 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19831  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19832  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19833  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19834  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19835  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19836  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
apache   19837  0.0  0.9  25996  4992 ?        S    10:14   0:00
/usr/sbin/httpd
root     19908  0.0  0.1   3884   668 pts/2    R+   10:30   0:00 grep
httpd
[EMAIL PROTECTED] ~]#



/etc/http/httpd.conf:


#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, in addition to the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Listen 12.34.56.78:80 <http://12.34.56.78/>
#Listen 80

Listen 192.168.211.30:8080
#Listen 8080



#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
#  . On SCO (ODT 3) use "User nouser" and "Group nogroup".
#  . On HPUX you may not be able to use shared memory as nobody, and the
#    suggested workaround is to create a user www and use that user.
#  NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
#  when the value of (unsigned)Group is above 60000;
#  don't use Group #-1 on these systems!
#
User apache
Group apache


[EMAIL PROTECTED] ~]# ps aux|grep httpd
root     19682  0.0  1.9  26000 10008 ?        Ss   09:51   0:00
/usr/sbin/httpd
apache   19684  0.0  1.0  26000  5636 ?        S    09:51   0:00
/usr/sbin/httpd
apache   19685  0.0  0.9  26000  4996 ?        S    09:51   0:00
/usr/sbin/httpd
apache   19686  0.0  0.9  26000  4996 ?        S    09:51   0:00
/usr/sbin/httpd
apache   19687  0.0  0.9  26000  4996 ?        S    09:51   0:00
/usr/sbin/httpd
apache   19688  0.0  0.9  26000  4996 ?        S    09:51   0:00
/usr/sbin/httpd
apache   19689  0.0  0.9  26000  4996 ?        S    09:51   0:00
/usr/sbin/httpd
apache   19690  0.0  0.9  26000  4996 ?        S    09:51   0:00
/usr/sbin/httpd
apache   19691  0.0  0.9  26000  4996 ?        S    09:51   0:00
/usr/sbin/httpd
root     19729  0.0  0.1   3880   664 pts/2    R+   10:06   0:00 grep
httpd
[EMAIL PROTECTED] ~]# netstat -tuwnlpe |grep httpd
tcp        0      0 :::80                       :::*
LISTEN      0          192297     19682/httpd
tcp        0      0 :::443                      :::*
LISTEN      0          192302     19682/httpd
[EMAIL PROTECTED] ~]#

Reply via email to