setgroups — set group access list
int setgroups(int ngroups, const gid_t *gidset);
sets the group access list of the current user process
according to the array
indicates the number of entries in the array and must be no
a user with the
privilege can set new groups
by adding to the group access list of the current user process;
any user can delete groups from it.
Some or all of the actions associated with this system call require the
Processes owned by the superuser have this privilege.
Processes owned by other users may have this privilege, depending on system
for more information about privileged access on
systems that support fine-grained privileges.
Upon successful completion,
returns 0; otherwise it returns -1 and sets
to indicate the error.
fails if any of the following conditions are encountered:
is not a user with the
privilege and has attempted to set new groups.
The address specified for
is outside the process address space.
The reliable detection of this error is implementation dependent.
is greater than
or not positive.
An entry in
is not a valid group
was developed by the University of California,
setgroups(): AES, SVID3