CAPGET(2)

이름
capget, capset - 프로세스 기능의 설정/소유

사용법
#undef _POSIX_SOURCE
#include <sys/capability.h>

int capget(cap_user_header_t header, cap_user_data_t data);.sp int capset(cap_user_header_t header, const cap_user_data_t data);

설명
리눅스 2.2의 경우, 슈퍼유저 (root)의 권한이 분리되었다. 모든 프로세스는 현재 사용하고 있다고 여겨지는 유효한 기능군을 가지고 있다. 모든 프로세스는 상속할 수 있는 기능군 또한 가지고 있다. 이것들은 exedve(2)와 유효하게 하거나 상속할 수 있게 하는 허가된 기능을 거치기도 한다.

이 두 함수는 기능을 소유하거나 설정하기 위한 raw kernel interface이다. 이 시스템은 리눅스에 특화 되어 있을 뿐만 아니라, 커널API 역시 이 함수를 바꾸고 사용한다. (특히 cap_user_*_t 타입의 포멧에서) 이것은 각 커널 개정판을 바꾸는 주제이다.

이 인터페이스들을 어플리케이션에서 사용할 수 있다면, 이식 인터페이스는 cap_set_proc(3) 와 cap_get_proc(3); 이다. 만약 리눅스 확장을 어플리케이션에서 사용하고 자한다면, easier-to-use interfaces capsetp(3) 와 capgetp(3). 을 사용해야 한다.

반환값
성공하면, 0이 반환되고, 에러시에는 -1이 반환된다. errno 적절히 설정된다.

에러

EINVAL
    독립변수 중 하나가 무효화 되었다.

EPERM
    승인된 군에 기능을 첨가하려 했거나, 승인된 군에 없는 유효군이나, 상속가능군에 있는 기능을 설정하려 함

자세한 정보
이식 인터페이스는 libcap 라이브러리에 의해 제공되고, 아래에서 구할 수 있다:
ftp://linux.kernel.org/pub/linux/libs/security/linux-privs

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