Provided by: manpages-dev_3.21-1_all bug

NAME

       setgid - set group identity

SYNOPSIS

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

       int setgid(gid_t gid);

DESCRIPTION

       setgid()  sets  the  effective group ID of the calling process.  If the
       caller is the superuser, the real GID and saved set-group-ID  are  also
       set.

       Under  Linux,  setgid()  is implemented like the POSIX version with the
       _POSIX_SAVED_IDS feature.  This allows a set-group-ID program  that  is
       not  set-user-ID-root  to drop all of its group privileges, do some un-
       privileged work, and then re-engage the original effective group ID  in
       a secure manner.

RETURN VALUE

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

ERRORS

       EPERM  The calling  process  is  not  privileged  (does  not  have  the
              CAP_SETGID  capability),  and  gid  does not match the effective
              group ID or saved set-group-ID of the calling process.

CONFORMING TO

       SVr4, POSIX.1-2001.

SEE ALSO

       getgid(2), setegid(2), setregid(2), capabilities(7), credentials(7)

COLOPHON

       This page is part of release 3.21 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.