Unix/Linux Go Back    

RedHat 9 (Linux i386) - man page for setgroups (redhat section 2)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

GETGROUPS(2)			    Linux Programmer's Manual			     GETGROUPS(2)

       getgroups, setgroups - get/set list of supplementary group IDs

       #include <sys/types.h>
       #include <unistd.h>

       int getgroups(int size, gid_t list[]);

       #include <grp.h>

       int setgroups(size_t size, const gid_t *list);

	      Up to size supplementary group IDs are returned in list.	It is unspecified whether
	      the effective group ID of the calling process is included  in  the  returned  list.
	      (Thus,  an  application should also call getegid(2) and add or remove the resulting
	      value.)  If size is zero, list is not modified, but the total number of  supplemen-
	      tary group IDs for the process is returned.

	      Sets the supplementary group IDs for the process.  Only the super-user may use this

	      On success, the number of supplementary group IDs is returned.   On  error,  -1  is
	      returned, and errno is set appropriately.

	      On success, zero is returned.  On error, -1 is returned, and errno is set appropri-

       EFAULT list has an invalid address.

       EPERM  For setgroups, the user is not the super-user.

       EINVAL For setgroups, size is greater than NGROUPS (32 for Linux 2.0.32).  For  getgroups,
	      size is less than the number of supplementary group IDs, but is not zero.

       A  process  can have up to at least NGROUPS_MAX supplementary group IDs in addition to the
       effective group ID. The set of supplementary  group  IDs  is  inherited	from  the  parent
       process and may be changed using setgroups.  The maximum number of supplementary group IDs
       can be found using sysconf(3):
	   long ngroups_max;
	   ngroups_max = sysconf(_SC_NGROUPS_MAX);
       The maximal return value of getgroups cannot be	larger	than  one  more  than  the  value
       obtained this way.

       The  prototype  for  setgroups is only available if _BSD_SOURCE is defined (either explic-
       itly, or implicitly, by not defining _POSIX_SOURCE or compiling with the -ansi flag).

       SVr4, SVID (issue 4 only; these calls were not present in SVr3), X/OPEN, 4.3BSD.  The get-
       groups  function  is in POSIX.1.  Since setgroups requires privilege, it is not covered by

       initgroups(3), getgid(2), setgid(2)

Linux 2.0.32				    1997-12-10				     GETGROUPS(2)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 08:08 PM.