ИМЯ
setfsgid − установить идентификатор группы, использующейся при доступе к файловой системе
КРАТКАЯ СВОДКА
#include <unistd.h> /* glibc использует <sys/fsuid.h> */
int setfsgid(gid_t fsgid);
ОПИСАНИЕ
setfsgid устанавливает идентификатор группы, который используется ядром Linux для доступа к файловой системе. Обычно значение fsgid будет совпадать с фактическим идентификатором группы. В самом деле, когда изменяется фактический идентификатор группы, fsgid устанавливается в то же самое значение.
Явный вызов функции .B setfsgid обычно используется только программами типа NFS-сервера, которые хотят изменить идентификатор группы, используемый для доступа к файлам, без изменения действительного и фактического идентификаторов группы. Установка обычных идентификаторов группы для программы типа NFS-сервера -- это дыра в безопасности, приводящая к возможности получения нежелательных сигналов от других групп.
setfsgid выполняется успешно, только если она была вызвана суперпользователем или если fsgid совпадает с действительным, фактическим или сохраненным идентификатором группы, или же с текущим значением fsgid.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном завершении возвращается предыдущее значение fsgid. При ошибке возвращается текущее значение fsgid.
СООТВЕТСТВИЕ СТАНДАРТАМ
setfsgid является специфичной для Linux и не должна использоваться в переносимых программах.
ОШИБКИ В РЕАЛИЗАЦИИ
Вызвавшему процессу не возвращается никаких сообщений об ошибке. По меньшей мере, должно возвращаться хотя бы значение EPERM.
ЗАМЕЧАНИЕ
Когда glibc определяет, что аргумент не является правильным идентификатором группы, то возвращает −1 и устанавливает errno в значение EINVAL, не пытаясь совершить системный вызов.
СМОТРИ ТАКЖЕ
ПЕРЕВОД
Перевод Copyright (C) Alexey Mahotkin <alexm [AT] hsys.ru> 2000