setppriv 서브루틴
용도
프로세스와 연결된 권한 집합을 설정합니다.
라이브러리
표준 C 라이브러리(libc.a)
구문
#include <sys/types.h>
#include <sys/priv.h>
int setppriv(pid, effective, maximum, inheritable,limiting)
pid_t pid;
privg_t * effective, maximum, inheritable, limiting;
설명
Setppriv 서브루틴은 pid 매개변수에 지정된 대로 프로세스에 대한 유효(EPS), 최대(MPS), 상속 가능(IPS) 및 제한(LPS) 권한 집합을 설정합니다. Pid 매개변수의 값이 음수이면 호출 프로세스의 권한이 수정됩니다. 프로세스가 프로세스의 최대 또는 상속 가능한 권한 집합이나 다른 프로세스의 유효 권한 집합을 변경하려는 경우 PV_PROC_PRIV 권한이 유효 집합에 필요합니다. 호출 프로세스는 자신의 최대 또는 상속 가능한 권한 집합을 줄이거나 자신의 유효 권한 집합을 수정하기 위해 권한을 요구하지 않습니다. 제한 권한은 최대 및 상속 가능한 권한에 대한 상한선 역할을 합니다. 최대 권한은 유효 권한의 상한선 역할을 합니다. 유효 권한은 pid 매개변수에 따른 프로세스의 현재 권한입니다.
유효, 최대, 상속 가능 또는 제한 권한 집합의 값이 null인 경우 프로세스의 해당 권한 집합은 변경되지 않은 상태로 유지됩니다. 유효, 최대, 상속 가능, 제한 권한 집합 중 하나 이상의 값이 0이 아니어야 합니다.
Pid 매개변수로 식별된 프로세스의 권한이 수정되면 프로세스의 권한 집합은 다음과 같은 적절한 관계를 갖습니다. 프로세스의 새로운 유효 권한 집합은 프로세스의 새로운 최대 권한 집합의 하위 집합이어야 합니다. 그렇지 않으면 통화가 실패합니다.
매개변수
| 항목 | 설명 |
|---|---|
| pid | 권한 세트 변경이 요청된 프로세스를 나타냅니다. |
| 효율적 | 시스템 제한을 재정의하는 데 사용되는 유효 권한 집합을 설정합니다. |
| 최대값 | 프로세스가 제어할 수 있는 최대 권한 집합을 설정합니다. |
| 상속 가능 | 상속 가능한 권한 집합을 설정하여 하위 프로세스의 EPS 및 MPS에 전달합니다. |
| 제한 | 프로세스가 가질 수 있는 최대 권한 집합인 제한 권한 집합을 설정합니다. |
리턴 값
| 항목 | 설명 |
|---|---|
| 0 | 서브루틴이 성공적으로 실행되었습니다. |
| -1 | 오류가 발생했습니다. Errno 전역 변수가 오류를 표시하도록 설정됩니다. |
오류 코드
다음 중 하나라도 해당하면 setppriv 서브루틴은 실패합니다:
| 항목 | 설명 |
|---|---|
| 기본값 | 유효, 최대, 상속 가능 또는 제한 권한 집합은 불법 주소입니다. |
| EINVAL | 전달된 유효, 최대, 상속 가능 및 제한 권한 집합의 값은 모두 null입니다. |
| EPERM | 호출 프로세스에 프로세스 권한 집합을 수정할 수 있는 PV_PROC_PRIV 또는 MAC 쓰기 권한( 신뢰할 수 있는 AIX®)이 없습니다. |
| ESRCH | Pid 매개 변수에 지정된 값과 동일한 ID를 가진 프로세스는 없습니다. |