seteuid, setegid - устанавливает действующий идентификатор пользователя или группы
НАЗВАНИЕseteuid, setegid - устанавливает действующий идентификатор
пользователя или группы
СИНТАКСИС
#include
#include
int seteuid(uid_t euid);
int setegid(gid_t egid);
ОПИСАНИЕ
seteuid устанавливает действующий идентификатор
пользователя текущего процесса. Непривилегированные
пользовательские процессы могут менять действующий
идентификатор пользователя только на действительный,
действующий или сохраненный идентификатор пользователя.
То-же самое справедливо при работе setegid для групп.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При нормальном завершении работы возвращается 0. При
ошибках возвращается -1, а переменной errno присваивается
код соответствующей ошибки.
КОДЫ ОШИБОК
EPERM Текущий процесс не является процессом
суперпользователя и euid (соответственно egid) не
является действительным, действующим или
сохраненным идентификатором пользователя (группы).
ЗАМЕЧАНИЯ
Установка действующего идентификатора пользователя
(группы) в сохраненный идентификатор пользователя (группы)
возможно с версии Linux 1.1.37 (1.1.38). В других
системах надо проверять _POSIX_SAVED_IDS.
В libc4, libc5 и glibc2.0 seteuid(euid) эквивалентно
setreuid(-1, euid), и поэтому может изменить сохраненным
идентификатор пользователя. А в glibc2.1 оно эквивалентно
setresuid(-1, euid,-1) и изменить сохраненный
идентификатор пользователя не может. Аналогичные
замечания относятся и к setegid.
СООТВЕТСТВИЕ СТАНДАРТАМ
BSD 4.3