seteuid
1. seteuid.2.man
Manpage of SETEUID
SETEUID
Section: Руководство программиста Linux (2)Updated: 2009-10-17
Index Return to Main Contents
ИМЯ
seteuid, setegid - устанавливает эффективный идентификатор пользователя или группыОБЗОР
#include <sys/types.h>#include <unistd.h>
int seteuid(uid_t euid);
int setegid(gid_t egid);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
seteuid(), setegid():
- _BSD_SOURCE || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >=600
ОПИСАНИЕ
seteuid() устанавливает эффективный идентификатор пользователя вызывающего процесса. Непривилегированные пользовательские процессы могут менять эффективный идентификатор пользователя только на действительный, эффективный или сохранённый идентификатор пользователя.Тоже самое справедливо при работе setegid() с "групповым" идентификатором, а не "пользовательским".
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.ОШИБКИ
- EPERM
- Вызывающий процесс не имеет прав (Linux: не имеет мандата CAP_SETUID, если вызывает seteuid(), или CAP_SETGID, если вызывает setegid()) и euid (и, соответственно, egid) не является действительным, эффективным или сохранённым идентификатором пользователя (группы).
СООТВЕТСТВИЕ СТАНДАРТАМ
4.3BSD, POSIX.1-2001.ЗАМЕЧАНИЯ
Установка эффективного идентификатора пользователя (группы) в сохранённый идентификатор пользователя (группы) возможна с версии Linux 1.1.37 (1.1.38). В других системах надо проверять _POSIX_SAVED_IDS.В libc4, libc5 и glibc 2.0 seteuid(euid) эквивалентен setreuid(-1, euid), и поэтому может изменить сохранённый идентификатор пользователя. В glibc2.1 и новее он эквивалентен setresuid(-1, euid, -1) и поэтому изменить сохранённый идентификатор пользователя не может. Аналогичные замечания относятся и к setegid().
Согласно POSIX.1, seteuid() (setegid()) необходимо запрещать euid (egid) равный текущему эффективному идентификатору пользователя (группе), и некоторые реализации не позволяют этого.
СМОТРИТЕ ТАКЖЕ
geteuid(2), setresuid(2), setreuid(2), setuid(2), capabilities(7), credentials(7)
Index
This document was created by man2html using the manual pages.
Time: 17:41:58 GMT, May 11, 2012



