setfsgid - устанавливает идентификатор группы для доступа к файловой системе
СИНТАКСИС
int setfsgid(gid_t fsgid)
ОПИСАНИЕ
Системный вызов
setfsgid
устанавливает идентификатор группы, который используется ядром
Linux для доступа к файловой системе. Обычно значение
fsgid
будет совпадать с идентификатором эффективной группы. Действительно,
когда изменяется идентификатор эффективной группы, значение
fsgid
при его установке изменится соответственно.
Явные вызовы функций
setfsuid
и
setfsgid
обычно производится только программами типа Linux NFS-сервера,
намеревающихся изменить идентификатор группы,
используемый для доступа к файлам, без изменения
идентификаторов действительной и эффективной группы. Установка обычных
идентификаторов группы для программы типа программ NFS-сервера - это нарушение
безопасности, приводящее к возможному получению нежелательных
сигналов от других групп.
setfsgid
выполняется корректно, только если она была вызвана суперпользователем
или если
fsgid
совпадает с
идентификатором действительной, эффективной и сохраненной группы
или с текущим значением
fsgid.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
При успешном завершении вызова возвращается предыдущее значение
fsgid.
При ошибке возвращается текущее значение
fsgid.
СООТВЕТСТВИЕ СТАНДАРТАМ
setfsgid
является специфичной для Linux и не должна использоваться в
переносимых программах.
Она существует, начиная с Linux 1.1.44 и в libc, начиная с libc 4.7.6.
НАЙДЕННЫЕ ОШИБКИ
Вызвавшему процессу не возвращается никаких сообщений об ошибке. По
меньшей мере, должно возвращаться хотя бы значение
ЗАМЕЧАНИЯ
Glibc не определяет наличие аргумента
EPERM.
Заметим, что все время, пока определяется этот системный вызов, процесс
может отправить сигнал процессу с таким же действующим идентификатором
пользователя. Сейчас обработка прав сигнала происходит немного иначе.