setuid - Set the user ID
#include <unistd.h>
int setuid(
uid_t user_id );
Application developers may want to specify an #include
statement for <sys/types.h> before the one for <unistd.h>
if programs are being developed for multiple platforms.
The additional #include statement is not required on Tru64
UNIX systems or by ISO or XSH standards, but may be
required on other vendors' systems that conform to these
standards.
Interfaces documented on this reference page conform to
industry standards as follows:
setuid(): XSH4.0, XSH4.2, XSH5.0
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Specifies the new user ID.
The setuid() function sets the real user ID, effective
user ID, and the saved set user ID to the user_id parameter.
To change the real user ID, the effective user ID, and the
saved set user ID, the calling process must have superuser
privilege. If the process does not have appropriate privilege,
but the user_id parameter is equal to the real user
ID or the saved set user ID, the setuid() function sets
the effective user ID to the user_id parameter. The real
user ID and saved set user ID remain unchanged.
Upon successful completion, the setuid() function returns
a value of 0 (zero). Otherwise, the function returns a
value of -1 and sets errno to indicate the error.
The setuid() function sets errno to the specified values
for the following conditions: [Tru64 UNIX] The process is
attempting an operation that would exceeds a system limit,
such as the number of tasks or threads allowed for a user
ID. The value of the user_id parameter is invalid. The
process does not have superuser privileges, and the
user_id parameter does not match the real user ID or the
saved set user ID.
Functions: exec(2), getuid(2), setgid(2), setreuid(2)
Standards: standards(5)
setuid(2)
[ Back ] |