Section: Linux Programmer's Manual (2)
Return to Main Contents
setgid - set group identity
int setgid(gid_t gid);
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.
is implemented like the POSIX version with the
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.
On success, zero is returned.
On error, -1 is returned, and
is set appropriately.
The calling process is not privileged (does not have the
CAP_SETGID capability), and
does not match the real group ID or saved set-group-ID of
the calling process.
The original Linux
system call supported only 16-bit group IDs.
Subsequently, Linux 2.4 added
supporting 32-bit IDs.
wrapper function transparently deals with the variation across kernel versions.
This page is part of release 3.54 of the Linux
A description of the project,
and information about reporting bugs,
can be found at
- RETURN VALUE
- CONFORMING TO
- SEE ALSO
This document was created by
using the manual pages.
Time: 09:55:29 GMT, January 16, 2018