Computer Science
SETREUID(2) Linux Programmer's Manual SETREUID(2)
NAME
setreuid, seteuid - set real and / or effective user ID
SYNOPSIS
#include <unistd.h>
int setreuid(uid_t ruid, uid_t euid);
int seteuid(uid_t euid);
DESCRIPTION
setreuid sets real and effective user ID's of the current
process. Un-privileged users may change the real user ID
to the effective user ID and vice-versa.
Prior to Linux 1.1.37, the saved ID paradigm, when used
with setreuid or seteuid was broken.
Starting at 1.1.37, it is also possible to set the effec-
tive user ID from the saved user ID.
Only the super-user may make other changes.
Supplying a value of -1 for either the real or effective
user ID forces the system to leave that ID unchanged.
Currently seteuid(euid) is functionally equivalent to
setreuid(-1, euid).
If the real user ID is changed or the effective user ID is
set to a value not equal to the previous real user ID, the
saved user ID will be set to the new effective user 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 user
ID with the real user ID or (ii) setting one to the
value of the other or (iii) setting the effective
user ID to the value of the saved user ID was spec-
ified.
CONFORMING TO
BSD 4.3 (the setreuid function call first appeared in
4.2BSD.)
SEE ALSO
getuid(2), setuid(2)
Linux 1.1.38 2nd August 1994 1
Back to the index