#include <unistd.h> int
setreuid (uid_t ruid uid_t euid);
DESCRIPTION
The real and effective user IDs of the
current process are set according to the arguments.
If
Fa ruid
or
Fa euid
is -1, the current uid is filled in by the system.
Unprivileged users may change the real user
ID to the effective user ID and vice-versa; only the super-user may
make other changes.
If the real user ID is changed (i.e.
Fa ruid
is not -1) or the effective user ID is changed to something other than
the real user ID, then the saved user ID will be set to the effective user ID.
The
setreuid ();
system call has been used to swap the real and effective user IDs
in set-user-ID programs to temporarily relinquish the set-user-ID value.
This purpose is now better served by the use of the
seteuid(2)
system call.
When setting the real and effective user IDs to the same value,
the standard
setuid ();
system call is preferred.
RETURN VALUES
Rv -std setreuid
ERRORS
Bq Er EPERM
The current process is not the super-user and a change
other than changing the effective user-id to the real user-id
was specified.