SETGROUPS(2) BSD Programmer's Manual SETGROUPS(2)
setgroups - set group access list
#include <sys/types.h> #include <unistd.h> int setgroups(int ngroups, const gid_t *gidset);
setgroups() sets the group access list of the current user process ac- cording to the array gidset. The parameter ngroups indicates the number of entries in the array and must be no more than {NGROUPS_MAX}. Only the superuser may set new groups.
A 0 value is returned on success, -1 on error, with an error code stored in errno.
The setgroups() call will fail if: [EINVAL] The value of ngroups is greater than {NGROUPS_MAX}. [EPERM] The caller is not the superuser. [EFAULT] The address specified for gidset is outside the process ad- dress space.
getgroups(2), setgid(2), setregid(2), initgroups(3)
The setgroups() function call appeared in 4.2BSD. MirBSD #10-current April 16, 1994 1