Index: trunk/src/server.c =================================================================== --- trunk/src/server.c (revision 262) +++ trunk/src/server.c (revision 270) @@ -564,7 +564,11 @@ setgroups(0, NULL); } - if (srv->srvconf.username->used && srv->srvconf.groupname->used) - initgroups(srv->srvconf.username->ptr, grp->gr_gid); - if (srv->srvconf.username->used) setuid(pwd->pw_uid); + + if (srv->srvconf.username->used) { + if (srv->srvconf.groupname->used) { + initgroups(srv->srvconf.username->ptr, grp->gr_gid); + } + setuid(pwd->pw_uid); + } #endif } else { Index: trunk/src/spawn-fcgi.c =================================================================== --- trunk/src/spawn-fcgi.c (revision 67) +++ trunk/src/spawn-fcgi.c (revision 270) @@ -333,7 +333,11 @@ if (groupname) { setgid(grp->gr_gid); - setgroups(0, NULL); - } - if (username) setuid(pwd->pw_uid); + } + if (username) { + if (groupname) { + initgroups(username, grp->gr_gid); + } + setuid(pwd->pw_uid); + } }