setuid(2) SDK R4.11 setuid(2)
NAME
setuid - set the real-, effective-, and saved-user-ids
SYNOPSIS
#include <unistd.h>
int setuid (uid)
uidt uid;
where:
uid The value to which the calling process's real-, effective-,
and saved-user-ids are to be set
DESCRIPTION
Setuid sets the real-user-id, effective-user-id, and saved-user-id of
the calling process to uid, subject to the access control constraints
described below.
The value of uid must always be non-negative and less than or equal
to MAXUID.
ACCESS CONTROL
If the calling process has appropriate privilege, the real-user-id,
effective-user-id, and saved_user_id values are all set to uid. 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.
If the calling process does not have appropriate privilege, but its
real-user-id or its saved_user_id is equal to uid, the
effective-user-id is set to uid. The real-user-id and saved_user_id
are unchanged.
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 An attempt was made to set the effective-user-id to a value
not permitted by the access control restrictions described
above.
EINVAL The supplied value of uid was negative or greater than
MAXUID.
SEE ALSO
getegid(2), geteuid(2), getgid(2), getuid(2), setgid(2), setregid(2),
setreuid(2), appropriateprivilege(5).
capdefaults(5).
Licensed material--property of copyright holder(s)