Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


INITGROUPS(3)              Library Functions Manual              INITGROUPS(3)

NAME
     initgroups - 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 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().

NetBSD 10.99                    August 10, 2002                   NetBSD 10.99