Unix for Beginners
Unix Shell Programming
Unix Useful References
Unix Useful Resources
Copyright © 2014 by tutorialspoint
setgid() - Unix, Linux System Call
setgid - set group identity
int setgid(gid_t gid);
setgid() sets the effective group ID of the current process. If the caller is the
superuser, the real GID and saved set-group-ID are also set.
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.
On success, zero is returned. On error, -1 is returned, and
errno is set appropriately.
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.