Provided by:
manpages-ru_0.98-4_all 
НАЗВАНИЕ
setreuid, seteuid - установить действительный и/или фактический
идентификатор пользователя
КРАТКАЯ СВОДКА
#include <sys/types.h>
#include <unistd.h>
int setreuid(uid_t ruid, uid_t euid);
int seteuid(uid_t euid);
ОПИСАНИЕ
setreuid устанавливает действительный и фактический идентификаторы
владельца текущего процесса. Непривилегированные пользователи могут
изменять действительный идентификатор владельца на фактический и
наоборот.
В Linux версий раньше 1.1.37 парадигма сохраненных идентификаторов, при
использовании с setreuid или seteuid, была некорректно реализована.
Начиная с 1.1.37, можно также устанавливать действительный
идентификатор пользователя в сохраненный идентификатор пользователя.
Только суперпользователь может делать все другие изменения.
Передавая -1 в качестве действительного или фактического идентификатора
пользователя оставляет соответствующий идентификатор без изменений.
В настоящий момент вызов seteuid(euid) функционально эквивалентен
вызову setreuid(-1, euid).
Если действительный идентификатор пользователя изменяется или же
фактический идентификатор пользователя устанавливается в значение, не
равное предыдущему действительному идентификатору пользователя, то
сохраненный идентификатор устанавливается в новый фактический
идентификатор.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха возвращается ноль. При ошибке возвращается -1, а errno
устанавливается должным образом.
ОШИБКИ
EPERM Текущий процесс не имеет прав суперпользователя и пытается
выполнить что-то помимо (i) обмена фактического идентификатора
на действительный, (ii) установки одного в значение другого, или
же (iii) установки фактического идентификатора пользователя в
значение сохраненного идентификатора.
СООТВЕТСТВИЕ СТАНДАРТАМ
BSD 4.3 (системный вызов setreuid впервые появился в 4.2BSD.)
СМОТРИ ТАКЖЕ
getuid(2), setuid(2)
ПЕРЕВОД
Перевод Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 2000
http://alexm.here.ru/manpages-ru/