INITGROUPS(3) BSD Programmer's Manual INITGROUPS(3)
initgroups - initialize supplementary group IDs
#include <unistd.h> int initgroups(const char *name, gid_t basegid);
The initgroups() function uses the getgrouplist(3) function to calculate the supplementary group IDs for the user specified in name. This group list is then set up for the current process using setgroups(2). The basegid is automatically included in the group list. Typically this value is given as the group number from the password file. If the groups database lists more than NGROUPS groups for name (including one for basegid), the later groups are ignored.
The initgroups() function returns -1 if it was not invoked by the su- peruser.
The initgroups() function appeared in 4.2BSD.
The getgrouplist(3) function called by initgroups() uses the routines based on getgrent(3). If the invoking program uses any of these routines, the group structure will be overwritten in the call to initgroups(). MirOS BSD #10-current June 4, 1993 1
Generated on 2013-04-27 00:20:00 by $MirOS: src/scripts/roff2htm,v 1.77 2013/01/01 20:49:09 tg Exp $
These manual pages and other documentation are copyrighted by their respective writers;
their source is available at our CVSweb,
AnonCVS, and other mirrors. The rest is Copyright © 2002‒2013 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.
This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.