INITGROUPS(3) | Library Functions 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_MAX
groups for name
(including one for basegid), the later groups are
ignored.
The initgroups
() function returns -1 if it
was not invoked by the superuser.
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
().
February 5, 2015 | OpenBSD-6.1 |