Red Hat Bugzilla – Bug 70994
apache does not use nsswitch.conf to find users for 'User' directive
Last modified: 2007-04-18 12:45:19 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 Galeon/1.2.5 (X11; Linux i686; U;) Gecko/0
Description of problem:
If httpd.conf has a VirtualHost section containing a 'User x' directive, apache
will not find user 'x' if this user has been defined in an external (LDAP)
database rather than /etc/passwd.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Configure your system to use an LDAP user database
2. Create an apache configuration with a VirtualHost section containing
directive 'User testuser'
2. Add 'testuser' to the LDAP database
3. (Re)start apache
Actual Results: Apache reports in /var/log/apachage/error_log
[Wed Aug 7 10:46:29 2002] [notice] SIGHUP received. Attempting to restart
httpd: bad user name testuser
Expected Results: It should have obtained the user information from the LDAP
database and started properly.
'testuser' is otherwise fully usable as a user account.
The problem can be worked around by adding 'testuser' to /etc/passwd.
Apache does not appear to have a problem with 'Group testuser'.
Hmm, on closer look this may very well have been caused by an update of the
nss_ldap RPM. This may have confused the running apache instance, causing it not
It appears to work properly now. Also the apache 1.3.26 source shows that
getpwnam() is used to obtain the user id, which should be OK.
I'll close this bug for now.
Sorry for the inconvinience!