SETGID
Section: Linux Programmer's Manual (2)
Updated: 2010-11-22
Index
Return to Main Contents
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 reengage 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 real group ID or saved set-group-ID of
the calling process.
NOTES
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
SVr4, POSIX.1-2001.
SEE ALSO
getgid(2),
setegid(2),
setregid(2),
capabilities(7),
credentials(7)
COLOPHON
This page is part of release 3.35 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://man7.org/linux/man-pages/.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- NOTES
-
- CONFORMING TO
-
- SEE ALSO
-
- COLOPHON
-
for client
18.222.148.124
© Andrew Scott 2006 -
2024,
All Rights Reserved