SETREUID(2)

이름
setreuid, seteuid - 실제 혹은 유효 사용자 ID를 설정한다.

사용법
#include <unistd.h>

int setreuid(uid_t ruid, uid_t euid);
int seteuid(uid_t euid);

설명
setreuid 는 현제 프로세스의 실제/유효한 사용자 ID를 설정한다. 특권이 없는 사용자는 유효사용자 ID 때문에 실제 사용자 ID가 바뀔런지 모른다. 리눅스 1.1.38이전에서, 저장된 ID패러다임이 setreuid 나 seteuid 을 사용할때는 동작하지 않았다. 1.1.38초기에는 저장된 사용자ID에서 유효한 사용자ID설정은 가능했다. 오로지 수퍼유저만이 다른 변화를 만들런지 모른다. 실제 혹은 유효한 사용자ID을 위해 -1값을 제공하는 것은 시스템으로 하여금 ID를 그대로 남기도록한다. 현재 seteuid(euid) 는 setreuid(-1, euid) 와 기능적으로 같다. 실제 사용자ID가 변하거나 유효사용자ID가 이전의 실제 사용자ID와 다르게 설정된다면, 저장된 사용자ID는 새로운 유효사용자ID로 설정될 것이다.

반환값
성공시, 0이 반환된다. 실패시, -1이 반환되고, errno 는 적절하게 설정된다.

에러

EPERM
    현재 프로세스는 수퍼유저가 아니고, (i)실제 사용자ID를 가진 유효사용자ID를 스와핑하거나 (i) 다른것의 값으로 하나를 설정하거나 (iii)저장된 사용자ID으 값으로 유효사용자ID를 설정하는것을 지정한것 보다 다른것이 변한다.

호환
BSD 4.3 (the setreuid 함수호출은 4.2BSD에서 처음 선보였다.)

관련 항목
getuid(2), setuid(2)

역자
ASPLINUX<man@asp-linux.co.kr>, 2000년 7월 26