initgroups(3) инициализирует вспомогательный групповой список доступа

ОБЗОР

#include <sys/types.h>
#include <grp.h>


int initgroups(const char *user, gid_t group);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

initgroups(): _BSD_SOURCE

ОПИСАНИЕ

Функция initgroups() инициализирует групповой список доступа путём чтения базы данных групп /etc/group и использования всех групп, в которые входит user. Также в список добавляется дополнительная группа group.

Аргумент user должен быть не равен NULL.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении функция initgroups() возвращает 0. В случае ошибки возвращается -1, и устанавливается соответствующее значение errno.

ОШИБКИ

ENOMEM
Недостаточно памяти для структуры с информацией о группе.
EPERM
Вызывающий процесс не имеет достаточно прав. Смотрите описание системного вызова setgroups(2).

ФАЙЛЫ

/etc/group              файл базы данных групп

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
ИнтерфейсАтрибутЗначение
initgroups() безвредность в нитяхбезвредно (MT-Safe locale)

СООТВЕТСТВИЕ СТАНДАРТАМ

SVr4, 4.3BSD.