Set the real, effective and saved group IDs
#include <unistd.h> int setgid( gid_t gid );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The setgid() function lets the calling process set the real, effective and saved group IDs, based on the following:
This function doesn't change any supplementary group IDs of the calling process.
If you wish to change only the effective group ID, you should consider using setegid()
#include <stdio.h> #include <sys/types.h> #include <unistd.h> #include <stdlib.h> int main( void ) { gid_t ogid; ogid = getgid(); if( setgid( 2 ) == -1 ) { perror( "setgid" ); return EXIT_FAILURE; } printf( "group id is now 2, was %d\n", ogid ); return EXIT_SUCCESS; }
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |