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 effective 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 ) \fR.
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.