GETGROUPS
Section: Linux Programmer's Manual (2)
Updated: 23 July 1993
Index
Return to Main Contents
NAME
getgroups, setgroups - get/set group access list
SYNOPSIS
#include <unistd.h>
int getgroups(int size, gid_t list[]);
#define __USE_BSD
#include <grp.h>
int setgroups(size_t size, const gid_t *list);
DESCRIPTION
- getgroups
-
Up to
size
supplemental groups are returned in
list.
If
size
is zero,
list
is not modified, but the total number of supplemental groups for the
process is returned.
- setgroups
-
Sets the supplemental groups for the process. Only the super-user may use
this function.
RETURN VALUE
- getgroups
-
On success, the number of groups stored in
list
is returned (if
size
is zero, however, the number of supplemental group IDs associated with the
process is returned). On error, -1 is returned, and
errno
is set appropriately.
- setgroups
-
On success, zero is returned. On error, -1 is returned, and
errno
is set appropriately.
ERRORS
- EFAULT
-
list
has an invalid address.
- EPERM
-
For
setgroups,
the user is not the super-user.
- EINVAL
-
For
setgroups,
gidsetsize
is greater than
NGROUPS
(32 for Linux 0.99.11).
CONFORMING TO
getgroups
conforms to POSIX.1 (and is present in BSD 4.3). Since
setgroups
requires privilege, it is not covered under POSIX.1.
BUGS
The
__USE_BSD
flag probably shouldn't be required for
setgroups.
SEE ALSO
initgroups(3),
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- BUGS
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 12:24:47 GMT, March 22, 2025