home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | SEE ALSO | COLOPHON


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 re-engage 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 effective group ID or saved
              set-group-ID of the calling process.

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.23 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                                 2002-03-09                            SETGID(2)