setreuid(2) DG/UX R4.11MU05 setreuid(2)
NAME
setreuid - set the real-, effective-, and saved-user-ids
SYNOPSIS
#include <sys/types.h>
int setreuid (ruid, euid)
uidt ruid;
uidt euid;
where:
ruid The value to which the real-user-id should be set
euid The value to which the effective-user-id should be set
DESCRIPTION
The real-user-id and effective-user-id's of the calling process are
set according to the arguments. If ruid or euid is -1, the current
value of the real-user-id or effective-user-id respectively, is used.
If the calling process does not have appropriate privilege, he may
only set the effective-user-id to the real-user-id or the
saved_user_id. For systems supporting the DG/UX Capability Option,
appropriate privilege is defined as having one or more specific
capabilities enabled in the effective capability set of the calling
process. See capdefaults(5) for the default capability for this
system call.
On systems without the DG/UX Capability Option, appropriate privilege
means that the process has an effective UID of root. (See the
appropriateprivilege(5) man page for more information.) Only a
calling process with appropriate privilege may make other changes.
If after changing the real- and effective-user-id's, the calling
process's effective-user-id no longer matches either its real- or
saved-user-id's, its saved-user-id is set to the value of its
effective-user-id.
ACCESS CONTROL
If the calling process has appropriate privilege, setting of the
real- and effective-user-ids is not restricted.
Otherwise, the effective-user-id may be set only to its current value
or to the current value of the real-user-id or to the saved-user-id
value. The real-user-id may be set only to its current value.
RETURN VALUE
0 Successful completion.
-1 An error occurred. errno is set to indicate the error.
DIAGNOSTICS
Errno may be set to one of the following error codes:
EPERM The above specified access check failed.
EINVAL The supplied value of ruid or euid was less than -1 or
greater than MAXUID.
SEE ALSO
getuid(2), geteuid(2), getgid(2), getegid(2), setuid(2), setgid(2),
appropriateprivilege(5).
capdefaults(5).
Licensed material--property of copyright holder(s)