Установить эффективный идентификатор группы
#include <unistd.h>int setegid( gid_t gid );
libc
Функция setegid() позволяет вызывающему процессу установить эффективный идентификатор группы по следующим принципам:
Реальный и сохраненный идентификатор группы не изменяются.
Если процесс устанавливает свой эффективный ID группы в реальный ID, он всё равно сможет вернуть свой эффективный ID группы в сохраненный. |
Процесс, созданный суперпользователем – это процесс с эффективным идентификатором пользователя 0
или эффективным идентификатором пользователя root.
/** This process sets its effective group ID to 2*/#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <unistd.h>int main( void ){gid_t oegid;oegid = getegid();if ( setegid( 2 ) == -1 ){perror( "setegid" );return (EXIT_FAILURE);}printf( "Was effective group %d, is 2\n", oegid );return (EXIT_SUCCESS);}
POSIX 1003.1
errno, getegid(), seteuid(), setgid(), setuid()
Предыдущий раздел: Описание API системной библиотеки