setresuid
1. setresuid.2.man
Manpage of SETRESUID
SETRESUID
Section: Руководство программиста Linux (2)Updated: 2007-07-26
Index Return to Main Contents
ИМЯ
setresuid, setresgid - устанавливает реальный, эффективный и сохранённый пользовательский идентификатор или идентификатор группыОБЗОР
#define _GNU_SOURCE#include <unistd.h>
int setresuid(uid_t ruid, uid_t euid, uid_t suid);
int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
ОПИСАНИЕ
Вызов setresuid() устанавливает реальный идентификатор пользователя, эффективный идентификатор пользователя и сохранённый идентификатор пользователя вызывающего процесса.Непривилегированные пользовательские процессы могут изменять реальный идентификатор пользователя, эффективный идентификатор пользователя и сохранённый идентификатор пользователя на соответственно текущий реальный идентификатор пользователя, текущий эффективный идентификатор пользователя и текущий сохранённый идентификатор пользователя.
Привилегированные процессы (в Linux: имеющие мандат CAP_SETUID) могут устанавливать произвольные значения для реального, эффективного и сохранённого идентификатора пользователя.
Если один из параметров равен -1, то соответствующее ему значение не изменяется.
Независимо от того, как изменились реальный UID, эффективный UID и сохранённый UID идентификатор в файловой системе всегда устанавливается равным значению (возможно новому) эффективного UID.
Аналогично, setresgid() устанавливает реальный GID, эффективный GID, и сохранённый GID вызывающего процесса (и всегда изменяет GID в файловой системе на значение эффективного GID) с теми же ограничениями для непривилегированных процессов.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.ОШИБКИ
- EAGAIN
- uid не совпадает с текущим UID и этот вызов привёл бы к выходу за пределы ресурса RLIMIT_NPROC значения пользовательского ID.
- EPERM
- Вызывающий процесс не является привилегированным (не имеет мандата CAP_SETUID) и пытается изменить значения идентификаторов, что запрещено.
ВЕРСИИ
Данные вызовы доступны в Linux начиная с версии 2.1.44.СООТВЕТСТВИЕ СТАНДАРТАМ
Это нестандартные вызовы; также они есть в HP-UX и некоторых BSD.ЗАМЕЧАНИЯ
В HP-UX и FreeBSD прототип находится в <unistd.h>. В Linux прототип задан в glibc, начиная с версии 2.3.2.СМОТРИТЕ ТАКЖЕ
getresuid(2), getuid(2), setfsgid(2), setfsuid(2), setreuid(2), setuid(2), capabilities(7), credentials(7), feature_test_macros(7)
Index
- ИМЯ
- ОБЗОР
- ОПИСАНИЕ
- ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
- ОШИБКИ
- ВЕРСИИ
- СООТВЕТСТВИЕ СТАНДАРТАМ
- ЗАМЕЧАНИЯ
- СМОТРИТЕ ТАКЖЕ
This document was created by man2html using the manual pages.
Time: 17:41:59 GMT, May 11, 2012



