int
initgroups(
const char *name
, gid_t basegid
)
)
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.
)
function
returns -1 if it was not invoked by the super-user.
)
function appeared in
4.2BSD.
)
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(
).