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