initgroups - initialize the supplementary group access list
Contents
Attributes
For an explanation of the terms used in this section, see attributes(7).
┌──────────────────────────────────────────────────────────────────────┬───────────────┬────────────────┐
│ Interface │ Attribute │ Value │
├──────────────────────────────────────────────────────────────────────┼───────────────┼────────────────┤
│ initgroups() │ Thread safety │ MT-Safe locale │
└──────────────────────────────────────────────────────────────────────┴───────────────┴────────────────┘
Description
The initgroups() function initializes the group access list by reading the group database /etc/group and
using all groups of which user is a member. The additional group group is also added to the list.
The user argument must be non-NULL.
Errors
ENOMEM Insufficient memory to allocate group information structure.
EPERM The calling process has insufficient privilege. See the underlying system call setgroups(2).
Files
/etc/group
group database file
History
SVr4, 4.3BSD.
Library
Standard C library (libc, -lc)
Name
initgroups - initialize the supplementary group access list
Return Value
The initgroups() function returns 0 on success. On error, -1 is returned, and errno is set to indicate
the error.
See Also
getgroups(2), setgroups(2), credentials(7) Linux man-pages 6.9.1 2024-05-02 initgroups(3)
Standards
None.
Synopsis
#include<sys/types.h>#include<grp.h>intinitgroups(constchar*user,gid_tgroup); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): initgroups(): Since glibc 2.19: _DEFAULT_SOURCE glibc 2.19 and earlier: _BSD_SOURCE
