INITGROUPS(3) BSD Library Functions Manual INITGROUPS(3)NAMEinitgroups — initialize supplementary group IDs
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
int
initgroups(const char *name, gid_t basegid);
DESCRIPTION
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.
RETURN VALUES
The initgroups() function returns -1 if it was not invoked by the super-
user.
SEE ALSOsetgroups(2), getgrouplist(3)HISTORY
The initgroups() function appeared in 4.2BSD.
BUGS
The getgrouplist() function called by initgroups() uses the routines
based on getgrent(3). If the invoking program uses any of these rou‐
tines, the group structure will be overwritten in the call to
initgroups().
BSD August 10, 2002 BSD