initgroups() failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I recently installed httpd-2.2.9 (with LDAP and SSL) on my Mac OS X 10.5.4 box. Everything went very smoothly except for one thing; Apache keeps shutting down due to the following initgroups failures:

[Wed Sep 24 19:02:11 2008] [alert] (2)No such file or directory: initgroups: unable to set groups for User <user> and Group <gid>

and

[Wed Oct 08 15:00:48 2008] [alert] (22)Invalid argument: initgroups: unable to set groups for User <user> and Group <gid>

After doing quite a bit of research, I found a few others who had also run into this problem (some of them dating back to 1995). However, I was unable to find a solution. The main difference I am noticing with the problem I'm having as compared to other users is that initgroups() seems to fail at what seems like random intervals for me. I read up a bit on how this error was getting thrown for some while trying to start httpd due to the user being a member of too many groups. However, I don't think that is the problem here and this error certainly has not been occurring when starting up httpd.

I tried to trace the code that was causing the issue and I found the following (httpd-2.2.9/os/unix/unixd.c):

if (initgroups(name, unixd_config.group_id) == -1) {

  ap_log_error(APLOG_MARK, APLOG_ALERT, errno, NULL,

                        "initgroups: unable to set groups for User %s "

                        "and Group %u", name, (unsigned)unixd_config.group_id);

  return -1;

}


One of the posts I read involved trying to resolve the issue by comparing the initgroups() return value to 1. However, initgroups() returns a -1 for errors (or when not called by a super-user) so comparing it to 1 would not really be solving the problem. Lastly, I tried to set permissions for the httpd script which is owned by root (/bin/httpd) to 4755 to try to prevent initgroups from failing due to non-sudo calls. That seemed to fix it, but after 1 week, it has crashed again. The main problem is that it seems to crash very randomly.

The following is the ./configure command I used (if it helps):
./configure --prefix=/usr/local/httpd-2.2.9 --enable-mods-shared=most --enable-ssl --enable-ldap --with-ldap --with-included-apr --enable-auth-ldap --enable-authnz-ldap --enable-proxy

So after all this, I have a couple of questions. Can someone please point me in the right direction for reproducing this problem? It *seems* to be pretty random for me in terms of when it fails. Has anyone else run into this problem? Does this problem have anything to do with the modules that I am using or is it just something wrong with my Apache installation? And finally, since initgroups() needs to be called by a super-user, how does it ever return successfully at all?

I realize from all of the Googling I've done that this problem has been occurring for httpd customers since 1995, however, I have had no luck in finding a proper solution so any help would be greatly appreciated.

Thanks a bunch!
-AS

[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux