GETGROUPS(2)

이름
getgroups, setgroups - 부가 그룹 ID의 리스트 소유/설정

사용법
#include <unistd.h>

int getgroups(int size, gid_t list[]);

#define _BSD_SOURCE
#include <grp.h>

int setgroups(size_t size, const gid_t *list);

설명

getgroups
    크기 에 따라서 부가 그룹은 리스트. 로 반환된다. 만약 크기 가 0 이면 리스트 는 변경되지 않는다. 하지만 프로세스를 위한 부가 그룹의 총 수는 반환된다.

setgroups
    프로세스를 위해 부가 그룹을 설정. 슈퍼 유저만 이 함수를 사용할 수 있다.

반환값

getgroups
    성공시, 부가 그룹 아이디의 수가 반환된다. 에러시에는 -1이 반환된다. errno 는 적당히 설정된다.

setgroups
    성공시, 0을 반환한다. 에러시, -1 이 반환돠니다. 그리고 errno 는 적당히 설정된다.

에러

EFAULT
    list 가 실제 없는 주소를 가지고 있다.

EPERM
    setgroups, 에게 사용자가 슈퍼유저가 아니다.

EINVAL
    setgroups, 에게 크기 가 NGROUPS (32 for Linux 2.0.32)보다 크다.. getgroups, 에게 크기 가 부가 그룹 아디 수보다 작지만 0은 아니다.

호환
SVr4, SVID (issue 4 only; 이 호출은 SVr3에 없다), X/OPEN, 4.3BSD. The getgroups 함수는 POSIX.1안에 있다. setgroups 는 특권이 필요하기 때문에, POSIX.1로 지원되지 않는다.

버그
The _BSD_SOURCE 플래그는 아마도 setgroups 에게 필요하지 않을 것이다.

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

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