Index Index for
Section 3
Index Alphabetical
listing for I
Bottom of page Bottom of
page

initgroups(3)

NAME

initgroups - Initialize concurrent group set

SYNOPSIS

int initgroups( char *user, gid_t base_gid );

LIBRARY

Standard C Library (libc)

PARAMETERS

user Specifies the user whose groups are to be used to initialize the group set. base_gid Specifies an additional group to include in the group set.

DESCRIPTION

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.

RETURN VALUES

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.

ERRORS

If the initgroups() function fails, errno may be set to the following value: [EPERM] The calling process does not have the appropriate privilege in its current effective privilege set.

CAUTION

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.

SEE ALSO

Functions: getgroups(2), setgroups(2), getgid(2) sia_get_groups(3) Commands: groups(1)

Index Index for
Section 3
Index Alphabetical
listing for I
Top of page Top of
page