> Linux Reviews > man >

setresuid

setresuid


  1. setresuid.2.man


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

SVENSKA - SVENSKA - SVENSKA - SVENSKA - ja - pl