initgroups - Initialize concurrent group set
int initgroups(
char *user,
gid_t base_gid );
Standard C Library (libc)
Specifies the user whose groups are to be used to initialize
the group set. Specifies an additional group to
include in the group set.
The initgroups() function reads the defined group membership
of the specified user and sets the concurrent group
set of the current process to that value. The base_gid
parameter is always included in the concurrent group set,
and is normally the principal user's group. If the user is
in more than NGROUPS_MAX groups, only NGROUPS_MAX groups
are set, including the base_gid group.
Upon successful completion, the initgroups() function
returns 0 (zero). If the initgroups() function fails, 1 is
returned and errno is set to indicate the error.
If the initgroups() function fails, errno may be set to
the following value: The calling process does not have the
appropriate privilege in its current effective privilege
set.
The initgroups() function uses the sia_get_groups() function
to set up the group array. If the program that
invokes initgroups() uses any of these functions, then
calling initgroups() overwrites the static group structure.
Functions: getgroups(2), setgroups(2), getgid(2)
sia_get_groups(3)
Commands: groups(1)
initgroups(3)
[ Back ] |