setgroups(2) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

setgroups(2)

getgroups(2)                     System Calls                     getgroups(2)

NAME
       getgroups, setgroups - get or set supplementary group access list IDs

SYNOPSIS
       #include <unistd.h>

       int getgroups(int gidsetsize, gid_t *grouplist);


       int setgroups(int ngroups, const gid_t *grouplist);

DESCRIPTION
       The  getgroups()  function  gets  the current supplemental group access
       list of the calling process and stores the result in the array of group
       IDs specified by grouplist. This array has gidsetsize entries and  must
       be  large enough to contain the entire list. This list cannot be larger
       than NGROUPS_MAX. If gidsetsize equals 0, getgroups() will  return  the
       number of groups to which the calling process belongs without modifying
       the array pointed to by grouplist.


       The  setgroups()  function  sets the supplementary group access list of
       the calling process from the array of group IDs specified by grouplist.
       The number of entries is specified by ngroups and can  not  be  greater
       than NGROUPS_MAX.

RETURN VALUES
       Upon  successful  completion, getgroups() returns the number of supple‐
       mentary group IDs set for the calling process and  setgroups()  returns
       0. Otherwise, −1 is returned and errno is set to indicate the error.

ERRORS
       The getgroups() and setgroups() functions will fail if:

       EFAULT    A  referenced part of the array pointed to by grouplist is an
                 illegal address.



       The getgroups() function will fail if:

       EINVAL    The value of gidsetsize is non-zero and less than the  number
                 of supplementary group IDs set for the calling process.



       The setgroups() function will fail if:

       EINVAL    The value of ngroups is greater than {NGROUPS_MAX}.


       EPERM     The {PRIV_PROC_SETID} privilege is not asserted in the effec‐
                 tive set of the calling process.


USAGE
       Use  of  the setgroups() function requires the {PRIV_PROC_SETID} privi‐
       lege.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE  VALUE  _  Interface StabilityCommitted _ MT-LevelAsync-Signal-
       Safe _ StandardFor getgroups(), see standards(7).


SEE ALSO
       groups(1),  chown(2),  getuid(2),  setuid(2),  getgrnam(3C),   getgrou‐
       plist(3C),   initgroups(3C),   limits.h(3HEAD)   attributes(7),  privi‐
       leges(7), standards(7)


       ngroups_max Parameter in Oracle Solaris 11.4 Tunable Parameters  Refer‐
       ence Manual

HISTORY
       The getgroups() and setgroups() functions have been included in all Sun
       and Oracle releases of Solaris.


       The  value  defined in <limits.h> for NGROUPS_MAX was raised to 1024 in
       the Oracle Solaris 11.4.0 release. In prior releases it was defined  to
       be 16.


       The  default value of the ngroups_max system tunable was raised to 1024
       in the Oracle Solaris 11.4.0 release. In prior releases it was  defined
       to be 16.


       The  maximum limit of the ngroups_max system tunable was raised to 1024
       in the Solaris 10 8/11 release and Solaris 10 kernel patches. In  prior
       releases it was defined to be 32.

Oracle Solaris 11.4               30 Jan 2023                     getgroups(2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3