Инициализировать вспомогательный групповой список доступа
#include <grp.h>#include <sys/types.h>int initgroups( const char *name,gid_t basegid );
libc
Функция initgroups() считывает группы, в которых состоит пользователь name, из базы данных групп, и инициализирует дополнительный групповой список доступа вызывающего процесса (смотрите getgrnam() и getgroups()).
Если число групп в дополнительном списке превышает NGROUPS_MAX
, добавляемые группы игнорируются.
Unix
Если initgroups() завершается ошибкой, дополнительный групповой список доступа не изменяется.
Функция getgrouplist(), вызываемая initgroups() основана на getgrent(). Если вызывающий процесс использует функцию getgrent(), структура struct group перезаписывается в памяти вызовом initgroups().
getgrent(), getgrnam(), getgrouplist(), getgroups()
Предыдущий раздел: Описание API системной библиотеки