HPUX initgroups[3c]

initgroups(3C) initgroups(3C)
NAME
initgroups() - initialize group access list
SYNOPSIS
#include <unistd.h>
int initgroups(const char *name, gid_t basegid);
DESCRIPTION
initgroups() reads the login group file, /etc/logingroup, and sets up
the group access list for the user specified by name, using the
setgroups(2) system call. If the value of basegid is zero or
positive, it is automatically included in the groups list. Typically
this value is given as the group number from the password file. If
the login group file does not exist or is empty, basegid is the only
member of the list.
RETURN VALUE
initgroups() returns -1 if it was not invoked by a user with
appropriate privileges.
WARNINGS
initgroups() uses the routines based on getgrent(3C). If the invoking
program uses any of these routines, the group structure is overwritten
by the call to initgroups(). Subsequent calls to initgroups() with
the same name parameter override the actions of previous calls.
On many systems, no one seems to keep /etc/logingroup up to date.
NETWORKING FEATURES
NFS
If /etc/logingroup is linked to /etc/group, initgroups() tries to use
the Network Information Service (NIS) for entries beginning with a
plus sign (+). If group membership for name is managed by NIS, and no
NIS server is able to respond, a call to initgroups() does not return
until a server does respond. This causes commands such as login(1)
and su(1) to wait indefinitely.
See group(4) for proper syntax and operation.
AUTHOR
initgroups() was developed by the University of California, Berkeley.
FILES
/etc/logingroup login group file
SEE ALSO
login(1), su(1), getgroups(2), setgroups(2), group(4).
Hewlett-Packard Company - 1 - HP-UX Release 9.0: August 1992