AIX 특권
AIX®에서 사용할 수 있는 특권이 다음 표에 나열됩니다. 각 특권 및 관련 시스템 호출에 대한 설명이 제공됩니다. 일부 특권은 한 특권이 다른 특권과 연관된 모든 권한을 부여할 수 있는 계층을 형성합니다.
특권을 확인할 때 시스템은 먼저 프로세스가 필요한 최하위 특권을 가지고 있는지 판별한 후 더 강력한 특권이 있는지를 검사하여
계층 위로 진행됩니다. 예를 들면, PV_AU_ 특권을 가진 프로세스는 자동으로 PV_AU_ADMIN, PV_AU_ADD,
PV_AU_PROC, PV_AU_READ 및 PV_AU_WRITE 특권을 가지고
PV_ROOT 특권을 가진 프로세스는 PV_SU_ 특권을 제외하고 아래에 나열된 모든 특권을 자동으로
가집니다.
특권 | 설명 | 시스템 호출 참조 |
---|---|---|
PV_ROOT | PV_SU_(및 지배하는 특권)를 제외하고 아래에 나열된 모든 특권과 동일한 특권을 프로세스에 부여합니다. | |
PV_AU_ADD | 프로세스가 감사 레코드를 기록/추가하도록 허용합니다. | auditlog |
PV_AU_ADMIN | 프로세스가 감사 시스템을 구성하고 조회하도록 허용합니다. | audit, auditbin, auditevents, auditobj |
PV_AU_PROC | 프로세스가 프로세스의 감사 상태를 얻거나 설정하도록 허용합니다. | auditproc |
PV_AU_READ | 프로세스가 Trusted AIX에서 감사 파일로 표시된 파일을 읽을 수 있도록 허용합니다. | |
PV_AU_WRITE | 프로세스가 감사 파일로 표시된 파일을 기록 또는 삭제하거나 Trusted AIX에서 파일을 감사 파일로 표시하도록 허용합니다. | |
PV_AU_ | 위의 모든 감사 특권(PV_AU_*)을 합한 것과 같습니다. | |
PV_AZ_ADMIN | 프로세스가 커널 보안 테이블을 수정하도록 허용합니다. | sec_setkst |
PV_AZ_READ | 프로세스가 커널 보안 테이블을 검색하도록 허용합니다. | sec_getkat, sec_getkpct, sec_getkpdt, sec_getkrt, etc. |
PV_AZ_ROOT | 프로세스가 exec()(상속 목적으로 사용됨) 실행 중에 권한 검사를 통과하도록 합니다. | |
PV_AZ_CHECK | 프로세스가 모든 권한 검사를 통과하도록 합니다. | sec_checkauth |
PV_DAC_R | 프로세스가 DAC 읽기 제한을 재정의하도록 허용합니다. | access, creat, accessx, open, read, faccessx, mkdir, getea, rename, statx, _sched_getparam, _sched_getscheduler, statea, listea |
PV_DAC_W | 프로세스가 DAC 쓰기 제한을 재정의하도록 허용합니다. | 위의 많은 항목과 setea, write, symlink, _setpri, _sched_setparam, _sched_setscheduler, fsetea, rmdir, removeea |
PV_DAC_X | 프로세스가 DAC 실행 제한을 재정의하도록 허용합니다. | 위의 많은 항목과 execve, symlink, rmdir, chdir, fchdir, ra_execve |
PV_DAC_O | 프로세스가 DAC 소유권 제한을 재정의하도록 허용합니다. | chmod, utimes, setacl, revoke, mprotect |
PV_DAC_UID | 프로세스가 해당 사용자 ID를 변경하도록 허용합니다. | setuid, seteuid, setuidx, setreuid, ptrace64 |
PV_DAC_GID | 프로세스가 새 그룹 ID를 설정하거나 그룹 ID를 변경하도록 허용합니다. | setgid, setgidx, setgroups, ptrace64 |
PV_DAC_RID | 프로세스가 새 역할 ID를 설정하거나 역할 ID를 변경하도록 허용합니다. | setroles, getroles |
PV_DAC_ | 위의 모든 DAC 특권(PV_DAC_*)을 합한 것과 동일합니다. | |
PV_FS_MOUNT | 프로세스가 파일 시스템을 마운트하고 마운트 해제하도록 허용합니다. | vmount, umount |
PV_FS_MKNOD | 프로세스가 임의의 유형의 파일을 작성하거나 mknod 시스템 호출을 수행하도록 허용합니다. | mknod |
PV_FS_CHOWN | 프로세스가 파일 소유권을 변경하도록 허용합니다. | chown, chownx, fchownx, lchown |
PV_FS_QUOTA | 프로세스가 디스크 할당량 관련 조작을 관리하도록 허용합니다. | quotactl |
PV_FS_LINKDIR | 프로세스가 디렉토리에 대한 하드 링크를 작성하도록 허용합니다. | link, unlink, remove |
PV_FS_CNTL | 프로세스가 파일 시스템에서 확장 및 축소를 제외한 여러 제어 조작을 수행하도록 허용합니다. | fscntl |
PV_FS_RESIZE | 프로세스가 파일 시스템에서 확장 및 축소 유형의 조작을 수행하도록 허용합니다. | fscntl |
PV_FS_CHROOT | 프로세스가 해당 루트 디렉토리를 변경하도록 허용합니다. | chroot |
PV_FS_PDMODE | 프로세스가 파티션된 유형 디렉토리를 작성하거나 설정하도록 허용합니다. | pdmkdir |
PV_FS_ | 위의 모든 파일 시스템 특권(PV_FS_*)을 합한 것과 동일합니다. | |
PV_PROC_PRIV | 프로세스가 프로세스와 연관된 특권을 수정하거나 볼 수 있도록 허용합니다. | setppriv, getppriv |
PV_PROC_PRIO | 프로세스/스레드가 우선순위, 정책 및 기타 스케줄링 매개변수를 변경하도록 허용합니다. | _prio_requeue, _setpri, _setpriority, _getpri, _sched_setparam, _sched_setscheduler, _thread_setsched, thread_boostceiling, thread_setmystate, thread_setstate |
PV_PROC_CORE | 프로세스가 코어를 덤프하도록 허용합니다. | gencore |
PV_PROC_RAC | 프로세스가 사용자당 한계보다 많은 프로세스를 작성하도록 허용합니다. | appsetrlimit, setrlimit64, mlock, mlockall, munlock, munlockall, plock, upfget, upfput, restart, brk, sbrk |
PV_PROC_RSET | 프로세스나 스레드에 자원 세트(rset)를 첨부하도록 허용합니다. | bindprocessor, ra_attachrset, ra_detachrset, rs_registername, rs_setnameattr, rs_discardname, rs_setpartition, rs_getassociativity, kra_mmapv |
PV_PROC_ENV | 프로세스가 사용자 구조에서 사용자 정보를 설정하도록 허용합니다. | ue_proc_register, ue_proc_unregister, usrinfo |
PV_PROC_CKPT | 프로세스가 다른 프로세스를 체크포인트 지정하거나 재시작하도록 허용합니다. | setcrid, restart |
PV_PROC_CRED | 프로세스가 신임 정보 속성을 설정하도록 허용합니다. | __pag_setvalue, __pag_setvalue64, __pag_genpagvalue |
PV_PROC_SIG | 프로세스가 관련 없는 프로세스에 신호를 보내도록 허용합니다. | _sigqueue, kill, signohup, gencore, thread_post, thread_post_many |
PV_PROC_TIMER | 프로세스가 세분화된 타이머를 제출하고 사용하도록 허용합니다. | appresabs, appresinc, absinterval, incinterval, _poll, _select _timer_settime |
PV_PROC_RTCLK | 프로세스가 CPU 시간 시계에 액세스하도록 허용합니다. | _clock_getres, _clock_gettime, _clock_settime, _clock_getcpuclockid |
PV_PROC_VARS | 프로세스가 프로세스 조정 가능 매개변수를 검색하고 갱신하도록 허용합니다. | smttune |
PV_PROC_PDMODE | 프로세스가 파티션된 디렉토리의 REAL 모드를 변경하도록 허용합니다. | setppdmode |
PV_PROC_ | 위의 모든 프로세스 특권(PV_PROC_*)을 합한 것과 동일합니다. | |
PV_TCB | 프로세스가 커널 신뢰 라이브러리 경로를 수정하도록 허용합니다. | chpriv, fchpriv |
PV_TP | 프로세스가 신뢰 경로 프로세스임을 나타내고 신뢰 경로 프로세스로 조치를 제한하도록 허용합니다. (참고: 이전 AIX BYPASS_TPATH 특권과 동일) | |
PV_WPAR_CKPT | 프로세스가 WPAR에서 체크포인트/재시작 조작을 수행하도록 허용합니다. | smcr_proc_info, smcr_exec_info, smcr_mapinfo, smcr_net_oper, smcr_procattr, aio_suspend_io, aio_resume_io |
PV_KER_ACCT | 프로세스가 사용통계 서브시스템과 관련된 제한된 조작을 수행하도록 허용합니다. | acct, _acctctl, projctl |
PV_KER_DR | 프로세스가 동적 재구성 조작을 호출하도록 허용합니다. | _dr_register, _dr_notify, _dr_unregister, dr_reconfig |
PV_KER_TIME | 프로세스가 시스템 시계와 시스템 시간을 수정하도록 허용합니다. | adjtime, appsettimer, _clock_settime |
PV_KER_RAC | 프로세스가 공유 메모리 세그먼트에 대형(페이징 불가능) 페이지를 사용하도록 허용합니다. | shmctl, vmgetinfo |
PV_KER_WLM | 프로세스가 WLM 구성을 초기화하고 수정하도록 허용합니다. | _wlm_set, _wlm_tune, _wlm_assign |
PV_KER_EWLM | 프로세스가 eWLM 환경을 초기화하거나 조회하도록 허용합니다. | |
PV_KER_VARS | 프로세스가 커널 런타임 조정 가능 매개변수를 검사하거나 설정하도록 허용합니다. | sys_parm, getkerninfo, __pag_setname, sysconfig, kunload64 |
PV_KER_REBOOT | 프로세스가 시스템을 종료하도록 허용합니다. | reboot |
PV_KER_RAS | 프로세스가 RAS 레코드, 오류 로깅, 추적, 덤프 기능을 구성하거나 기록하도록 허용합니다. | mtrace_set, mtrace_ctl |
PV_KER_LVM | 프로세스가 LVM 서브시스템을 구성하도록 허용합니다. | |
PV_KER_NFS | 프로세스가 NFS 서브시스템을 구성하도록 허용합니다. | |
PV_KER_VMM | 프로세스가 커널에서 스왑 매개변수와 기타 VMM 조정 가능 매개변수를 수정하도록 허용합니다. | swapoff, _swapon_ext, vmgetinfo |
PV_KER_WPAR | 프로세스가 워크로드 파티션을 구성하도록 허용합니다. | brand, corral_config, corral_delete, corral_modify, wpar_mkdevexport, wpar_rmdevexport, wpar_lsdevexport |
PV_KER_CONF | 프로세스가 여러 시스템 구성 조작을 수행하도록 허용합니다. | sethostname, sethostid, unameu, setdomainname |
PV_KER_EXTCONF | 프로세스가 커널 확장(커널 확장 서비스용)에서 여러 구성 태스크를 수행하도록 허용합니다. | |
PV_KER_IPC | 프로세스가 IPC 메시지 큐 버퍼의 값을 올리도록 허용하고 범위가 첨부된 shmget를 허용합니다. | msgctl, shm_open, shmget, ra_shmget, ra_shmgetv, shmctl |
PV_KER_IPC_R | 프로세스가 IPC 메시지 큐, 세마포어 세트 또는 공유 메모리 세그먼트를 읽을 수 있도록 허용합니다. | msgctl, __msgrcv, _mq_open, semctl, shmat, shm_open, __semop, shmctl, __semtimedop, sem_post, _sem_wait, __msgrcv, __msgxrcv |
PV_KER_IPC_W | 프로세스가 IPC 메시지 큐, 세마포어 세트 또는 공유 메모리 세그먼트를 쓸 수 있도록 허용합니다. | _mq_open, shmat, _sem_open, semctl, shm_open, shmctl, mq_unlink, sem_unlink, shm_unlink, msgctl, __msgsnd |
PV_KER_IPC_O | 프로세스가 모든 IPC 오브젝트에서 DAC 소유권을 재정의하도록 허용합니다. | msgctl, semctl, shmctl, fchmod, fchown |
PV_KER_SECCONFIG | 프로세스가 커널 보안 플래그를 설정하도록 허용합니다. | sec_setsecconf, sec_setrunmode, sec_setsyslab, sec_getsyslab |
PV_KER_PATCH | 프로세스가 커널 확장을 패치하도록 허용합니다. | |
PV_KER_ | 위의 모든 커널 특권(PV_KER_*)을 합한 것과 동일합니다. | |
PV_DEV_CONFIG | 프로세스가 시스템에서 커널 확장 및 장치를 구성하도록 허용합니다. | sysconfig |
PV_DEV_LOAD | 프로세스가 시스템에서 커널 확장 및 장치를 로드하고 로드 해제하도록 허용합니다. | sysconfig |
PV_DEV_QUERY | 프로세스가 커널 모듈을 조회하도록 허용합니다. | sysconfig |
PV_SU_ROOT | 프로세스에 표준 AIX 수퍼 사용자와 연관된 모든 특권을 부여합니다. | |
PV_SU_EMUL | UID가 0인 경우 프로세스에 표준 AIX 수퍼 사용자와 연관된 모든 특권을 부여합니다. | |
PV_SU_UID | getuid 시스템 호출이 0을 리턴하게 합니다. | getuidx |
PV_SU_ | 위의 모든 수퍼 사용자 특권(PV_SU_*)을 합한 것과 동일합니다. | |
PV_NET_CNTL | 프로세스가 네트워크 테이블을 수정하도록 허용합니다. | socket, bind, listen, _naccept, econnect, ioctl, rmsock, setsockopt |
PV_NET_PORT | 프로세스가 특권 포트에 바인드하도록 허용합니다. | bind |
PV_NET_RAWSOCK | 프로세스가 네트워크 계층에 대한 직접 액세스 권한을 가지도록 허용합니다. | socket, _send, _sendto, sendmsg, _nsendmsg |
PV_NET_CONFIG | 프로세스가 네트워킹 매개변수를 구성하도록 허용합니다. | |
PV_NET_ | 위의 모든 네트워킹 특권(PV_NET_*)을 합한 것과 동일합니다. |
다음 표에 나열된 특권은 Trusted AIX에 고유합니다.
Trusted AIX 특권 | 설명 | 시스템 호출 참조 |
---|---|---|
PV_LAB_CL | 프로세스가 프로세스 클리어런스에 따라 주체 SCL을 수정하도록 허용합니다. | |
PV_LAB_CLTL | 프로세스가 프로세스 클리어런스에 따라 주체 TCL을 수정하도록 허용합니다. | |
PV_LAB_LEF | 프로세스가 레이블 인코딩 파일을 읽을 수 있도록 허용합니다. | |
PV_LAB_SLDG | 프로세스가 프로세스 클리어런스에 따라 SL을 다운그레이드하도록 허용합니다. | |
PV_LAB_SLDG_STR | 프로세스가 프로세스 클리어런스에 따라 패킷의 SL을 다운그레이드하도록 허용합니다. | |
PV_LAB_SL_FILE | 프로세스가 프로세스 클리어런스에 따라 오브젝트 SL을 변경하도록 허용합니다. | |
PV_LAB_SL_PROC | 프로세스가 프로세스 클리어런스에 따라 주체 SL을 변경하도록 허용합니다. | |
PV_LAB_SL_SELF | 프로세스가 프로세스 클리어런스에 따라 자체 SL을 변경하도록 허용합니다. | |
PV_LAB_SLUG | 프로세스가 프로세스 클리어런스에 따라 SL을 업그레이드하도록 허용합니다. | |
PV_LAB_SLUG_STR | 프로세스가 프로세스 클리어런스에 따라 패킷의 SL을 업그레이드하도록 허용합니다. | |
PV_LAB_TL | 프로세스가 주체 및 오브젝트 TL을 수정하도록 허용합니다. | |
PV_LAB_ | 위의 모든 레이블 특권(PV_LAB_*)을 합한 것과 동일합니다. | |
PV_MAC_CL | 프로세스가 민감도 클리어런스 제한을 무시하도록 허용합니다. | |
PV_MAC_R_PROC | 프로세스에 대한 정보를 가져올 때 프로세스가 MAC 읽기 제한을 무시하도록 허용합니다. 대상 프로세스의 레이블이 활동 프로세스 클리어런스 내에 있는 경우로 제한됩니다. | |
PV_MAC_W_PROC | 프로세스에 신호를 보낼 때 프로세스가 MAC 쓰기 제한을 무시하도록 허용합니다. 대상 프로세스의 레이블이 활동 프로세스 클리어런스 내에 있는 경우로 제한됩니다. | |
PV_MAC_R | 프로세스가 MAC 읽기 제한을 무시하도록 허용합니다. | |
PV_MAC_R_CL | 오브젝트 레이블이 프로세스 클리어런스 내에 있을 때 프로세스가 MAC 읽기 제한을 무시하도록 허용합니다. | |
PV_MAC_R_STR | STREAM에서 메시지를 읽을 때 프로세스가 MAC 읽기 제한을 무시하도록 허용합니다. 메시지의 레이블이 프로세스 클리어런스 내에 있는 경우로 제한됩니다. | |
PV_MAC_W | 프로세스가 MAC 쓰기 제한을 무시하도록 허용합니다. | |
PV_MAC_W_CL | 오브젝트 레이블이 프로세스 클리어런스 내에 있을 때 프로세스가 MAC 쓰기 제한을 무시하도록 허용합니다. | |
PV_MAC_W_DN | 프로세스 레이블이 오브젝트 레이블을 지배하고 오브젝트 레이블이 프로세스 클리어런스 내에 있을 때 프로세스가 MAC 쓰기 제한을 무시하도록 허용합니다. | |
PV_MAC_W_UP | 프로세스 레이블이 오브젝트 레이블에 의해 지배되고 오브젝트 레이블이 프로세스 클리어런스 내에 있을 때 프로세스가 MAC 쓰기 제한을 무시하도록 허용합니다. | |
PV_MAC_OVRRD | MAC에서 제외됨으로 플래그 지정된 파일에 대해 MAC 제한을 무시합니다. | |
PV_MAC_ | 위의 모든 MAC 특권(PV_MAC_*)을 합한 것과 동일합니다. | |
PV_MIC | 프로세스가 무결성 제한을 무시하도록 허용합니다. | |
PV_MIC_CL | 프로세스가 무결성 클리어런스 제한을 무시하도록 허용합니다. |