SETGROUPS(2)
HOME ||
NAME
LIBRARY
SYNOPSIS
DESCRIPTION
RETURN VALUES
ERRORS
SEE ALSO
HISTORY
setgroups -- set group access list
Standard C Library (libc, -lc)
#include <sys/param.h>
#include <unistd.h>
int
setgroups(int ngroups, const gid_t *gidset);
The setgroups() system call sets the group access list of the current
user process according to the array gidset. The ngroups argument indi-
cates the number of entries in the array and must be no more than
NGROUPS, as defined in <sys/param.h>.
Only the super-user may set new groups.
The setgroups() function returns the value 0 if successful; otherwise the
value -1 is returned and the global variable errno is set to indicate the
error.
The setgroups() system call will fail if:
[EPERM] The caller is not the super-user.
[EINVAL] The number specified in the ngroups argument is larger
than the NGROUPS limit.
[EFAULT] The address specified for gidset is outside the
process address space.
getgroups(2), initgroups(3)
The setgroups() system call appeared in 4.2BSD.