SETUID(2) SETUID(2)
НАЗВАНИЕ
setuid, setgid - установка реальных и действующих иден-
тификаторов пользователя и группы
СИНТАКСИС
int setuid (uid)
int uid;
int setgid (gid)
int gid;
ОПИСАНИЕ
Системный вызов setuid (setgid) используется для уста-
новки реального и действующего идентификаторов пользо-
вателя (группы) вызывающего процесса.
После вызова суперпользователем как реальный, так и
действующий идентификатор пользователя (группы) уста-
навливается равным uid (gid).
Если соответствующий процессу действующий идентификатор
пользователя не является идентификатором суперпользова-
теля, но реальный идентификатор пользователя (группы)
равен uid (gid), то действующий идентификатор пользова-
теля (группы) устанавливается равным pid (uid). Тот же
эффект имеет место, если идентификатор, сохраненный в
момент переустановки [см. exec(2)], равен uid (gid).
Системный вызов setuid (setgid) завершается неудачей,
если выполнено хотя бы одно из следующих условий:
[EPERM] Соответствующий процессу действующий иден-
тификатор пользователя не является иденти-
фикатором суперпользователя, и реальный
идентификатор пользователя (группы) вызыва-
ющего процесса не равен uid (gid).
[EINVAL] Значение uid вне допустимых границ.
СМ. ТАКЖЕ
getuid(2), intro(2).
ДИАГНОСТИКА
При успешном завершении результат равен 0; в случае
ошибки возвращается -1, а переменной errno присваивает-
ся код ошибки.
|