setgroups(2)setgroups(2)NAMEsetgroups - set group access list
sets the group access list of the current user process according to the
array gidset. The parameter ngroups indicates the number of entries in
the array and must be no more than
Only 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
privilege. Processes owned by the superuser have this privilege. Pro‐
cesses owned by other users may have this privilege, depending on sys‐
tem configuration. See privileges(5) for more information about privi‐
leged 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:
The caller is not a user with the privilege and has
attempted to set new groups.
The address specified for
gidset is outside the process address space. The
reliable detection of this error is implementa‐
ngroups is greater than or not positive.
An entry in gidset is not a valid group ID.
was developed by the University of California, Berkeley.
SEE ALSOgetgroups(2), initgroups(3C), privileges(5).