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