setresuid, setresgid - устанавливает идентификатор реальной, эффективной и сохраненной групп пользователей
НАЗВАНИЕsetresuid, setresgid - устанавливает идентификатор
реальной, эффективной и сохраненной групп пользователей.
СИНТАКСИС
#include
int setresuid(uid_t ruid, uid_t euid, uid_t suid);
int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
ОПИСАНИЕ
Функция setresuid устанавливает идентификатор реального
пользователя, идентификатор эффективного пользователя и
идентификатор сохраненного пользователя текущего процесса.
Непривилегированные процессы пользователя (например,
процессы с ненулевыми идентификаторами реального,
эффективного и сохраненного пользователей) могут изменить
идентификаторы на: идентификатор текущего пользователя,
идентификатор реального текущего пользователя и
идентификатор текущего сохраненного пользователя.
Суперпользователь может установить произвольные значения
идентификаторов реального, эффективного и сохраненного
пользователей. Если один из параметров равен -1, то
соответствующее ему значение не изменяется. setresgid
устанавливает идентификаторы групп реальных, эффективных и
сохраненных пользователей процесса с теми же
ограничениями.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При удачном завершении возвращаемое значение равно нулю.
При ошибке возвращается -1 , а переменной errno
присваивается номер ошибки.
КОДЫ ОШИБОК
EPERM Текущий процесс, не являясь привилегированным,
сделал попытку изменить идентификатор.
СООТВЕТСТВИЕ СТАНДАРТАМ
Этот вызов является нестандартным.
ПРЕДЫСТОРИЯ
Эта функция впервые появилась в HP-UX. В Linux она
доступна начиная с Linux 2.1.44. На текущий момент она
также существует в FreeBSD (для эмуляции исполняемых
файлов Linux).
ЗАМЕЧАНИЯ
В HP-UX и FreeBSD прототип функции находится в .
В Linux пока что нет файла с прототипом этой функции для
включения - это баг glibc. Программы, использующие эту
функцию, должны сами добавить прототип.