SETREGID(2)

이름
setregid, setegid - 실제/유효한 그룹 ID를 설정한다.

사용법
#include <unistd.h>

int setregid(gid_t rgid, gid_t egid);
int setegid(gid_t egid);

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

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

에러

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

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

관련 항목
getgid(2), setgid(2)

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