Computer Science
SETREGID(2) Linux Programmer's Manual SETREGID(2)
NAME
setregid, setegid - set real and / or effective group ID
SYNOPSIS
#include <unistd.h>
int setregid(gid_t rgid, gid_t egid);
int setegid(gid_t egid);
DESCRIPTION
setregid sets real and effective group ID's of the current
process. Un-privileged users may change the real group ID
to the effective group ID and vice-versa.
Prior to Linux 1.1.38, the saved ID paradigm, when used
with setregid or setegid was broken. Starting at 1.1.38,
it is also possible to set the effective group ID from the
saved group ID.
Only the super-user may make other changes.
Supplying a value of -1 for either the real or effective
group ID forces the system to leave that ID unchanged.
Currently (libc-4.x.x), setegid(egid) is functionally
equivalent to setregid(-1, egid).
If the real group ID is changed or the effective group ID
is set to a value not equal to the previous real group ID,
the saved group ID will be set to the new effective group
ID.
RETURN VALUE
On success, zero is returned. On error, -1 is returned,
and errno is set appropriately.
ERRORS
EPERM The current process is not the super-user and
changes other than (i) swapping the effective
group ID with the real group ID or (ii) setting
one to the value of the other or (iii) setting the
effective group ID to the value of the saved group
ID was specified.
CONFORMING TO
BSD 4.3 (the setregid function call first appeared in
4.2BSD).
SEE ALSO
getgid(2), setgid(2)
Linux 1.1.38 2nd August 1994 1
Back to the index