INITGROUPS(3)

NAME
initgroups - initialize group access list

SYNOPSIS
#include <unistd.h>
int
initgroups(const char *name, int basegid);

DESCRIPTION
The initgroups() function uses the getgrouplist(3) function to calculate the group access list for the user specified in name. This group list is then setup for the current process using setgroups(2). The basegid is automatically included in the groups list. Typically this value is given as the group number from the password file.

RETURN VALUES
The initgroups() function returns -1 if it was not invoked by the super-user.

SEE ALSO
setgroups(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 routines, the group structure will be overwritten in the call to initgroups().