home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | NOTES | CONFORMING TO | SEE ALSO | COLOPHONThe Linux Programming Interface


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

NAME         top

       setgid - set group identity

SYNOPSIS         top

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

       int setgid(gid_t gid);

DESCRIPTION         top

       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 reengage the original effective group ID in a secure manner.

RETURN VALUE         top

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

ERRORS         top

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

NOTES         top

       The original Linux setgid() system call supported only 16-bit group IDs.
       Subsequently, Linux 2.4 added setgid32() supporting 32-bit IDs.  The glibc
       setgid() wrapper function transparently deals with the variation across kernel
       versions.

CONFORMING TO         top

       SVr4, POSIX.1-2001.

SEE ALSO         top

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

COLOPHON         top

       This page is part of release 3.32 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/.

Linux                                 2010-11-22                            SETGID(2)

HTML rendering created 2010-12-03 by Michael Kerrisk, author of The Linux Programming Interface

customisable
counter