Yolinux.com

initgroups manpage

Search topic Section


INITGROUPS(3)		   Linux Programmer's Manual		 INITGROUPS(3)



NAME
       initgroups - initialize the supplementary group access list

SYNOPSIS
       #include <sys/types.h>
       #include <grp.h>

       int initgroups(const char *user, gid_t group);

   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

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.

RETURN VALUE
       The  initgroups()  function  returns  0	on  success.   On error, -1 is
       returned, and errno is set appropriately.

ERRORS
       ENOMEM Insufficient memory to allocate group information structure.

       EPERM  The calling process has insufficient privilege.  See the	under-
	      lying system call setgroups(2).

FILES
       /etc/group	   group database file

ATTRIBUTES
       For   an	  explanation	of   the  terms	 used  in  this	 section,  see
       attributes(7).

       +-------------+---------------+----------------+
       |Interface    | Attribute     | Value	      |
       +-------------+---------------+----------------+
       |initgroups() | Thread safety | MT-Safe locale |
       +-------------+---------------+----------------+

CONFORMING TO
       SVr4, 4.3BSD.

SEE ALSO
       getgroups(2), setgroups(2), credentials(7)

COLOPHON
       This page is part of release 4.10 of the Linux  man-pages  project.   A
       description  of	the project, information about reporting bugs, and the
       latest	 version    of	  this	  page,	   can	   be	  found	    at
       https://www.kernel.org/doc/man-pages/.



GNU				  2016-03-15			 INITGROUPS(3)