getpwnam issue

chadmiko nginx-forum at
Tue Jan 4 23:43:55 MSK 2011

Hello all, 

I am testing a chroot'ed nginx setup on Debian Lenny and am receiving
the error:  `getpwnam("www-data") failed` when I try to start nginx.  My
search to find a possible solution have so far been fruitless but I am
hoping someone smarter than I could offer some advice.

I've setup the "jail" in /chroot/nginx, created the relevant directory
structure (/dev/, /etc, /usr, /var, etc.).  Then I copied files that
"ldd `which nginx`" showed as linked to the relevant directories, and
also copied what I believe are the necessary /etc/* files to
/chroot/nginx/etc/.  So my directory structure is basically as follows:

/chroot/nginx (base chroot directory)
                     passwd, shadow, group, hosts, nsswitch.conf,
                          /sites-{available, enabled}
                          *(some shared library files here)
                     libnss_dns* files, libnss_compat* files,
libnss_files*, and some other shared library files here

(that's a non-exhaustive overview, but is hopefullly enough to diagnose
the problem)

I know that it's not a getpwnam() issue, as I found a forum discussion
which involves troubleshooting the getpwnam() function with a simple C
program to ensure that getpwnam() is indeed working properly.  I've
tested this and it works as expected in a non-chroot setting 
(discussion is here, it's in Russian, so you may need to use Google

I am using the start-stop-daemon to manage nginx with a script similar
to this:
 So to start nginx I run:

     #   start-stop-daemon --start --pidfile /var/run/nginx/ 
--exec /usr/sbin/nginx --chroot /chroot/nginx

And this is what throws the error.  I think that it's really an issue of
having my paths or permissions wrong such that getpwnam() cannot
read/find the passwd file, but my attempts to change permissions,
owners, and paths have not been successful. Any advice or suggestions
would be appreciated!  



Posted at Nginx Forum:,163489,163489#msg-163489

More information about the nginx mailing list