Установить реальные, эффективные и сохраненные идентификаторы групп
#include <unistd.h>int setgid( gid_t gid );
libc
Функция setgid() позволяет вызывающему процессу установить реальный, эффективный и сохраненный идентификатор группы по следующим принципам:
Функция не изменяет идентификаторы дополнительных групп вызывающего процесса.
Если необходимо изменить только эффективной идентификатор группы и процесс создан суперпользователем, следует рассмотреть возможность использования функции setegid().
Процесс, созданный суперпользователем – это процесс с эффективным идентификатором пользователя 0
или эффективным идентификатором пользователя root.
#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);}
POSIX 1003.1
errno, setegid(), seteuid(), setuid()
Предыдущий раздел: Описание API системной библиотеки