![]() |
![]() |
![]() |
![]() |
![]() |
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Set the effective user ID
#include <unistd.h> int seteuid( uid_t uid );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The seteuid() function lets the calling process set the effective user ID, based on the following:
The real and saved user IDs aren't changed.
![]() |
If a set-UID process sets its effective user ID to its real user ID, it can still set its effective user ID back to the saved set-UID. |
The "superuser" is defined as any process with an effective user ID of 0, or an effective user ID of root.
/*
* This process sets its effective userid to 0 (root).
*/
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
int main( void )
{
uid_t oeuid;
oeuid = geteuid();
if( seteuid( 0 ) == -1 ) {
perror( "seteuid" );
return EXIT_FAILURE;
}
printf( "effective userid now 0, was %d\n",
oeuid );
return EXIT_SUCCESS;
}
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
errno, geteuid(), setegid(), setuid(), setgid()
![]() |
![]() |
![]() |
![]() |