proc_rbac_op 子例程
用途
设置,取消设置和查询进程的 RBAC 属性。
库
标准 C 库 (libc.a)
语法
描述
proc_rbac_op 子例程用于设置,取消设置和查询进程的 基于角色的访问控制 (RBAC) 感知。
要使用 proc_rbac_op 子例程,调用进程必须具有 ACT_P_SET_PAGRBAC 特权。 如果在可信AIX®环境中运行,调用进程必须具有适当的标签属性,才能对Pid参数指定的目标进程执行操作。
参数
| 项 | 描述 |
|---|---|
| 命令 | 指定要在目标进程上运行的命令。 Cmd 参数具有以下值:
|
| Pid | 指定目标进程的 Pid。 负的 Pid 值表示当前进程。 |
| 参数 | 此参数依赖于 Cmd 参数指定的命令。 PROC_RBAC_SET 和 PROC_RBAC_UNSET: 只能是 SEC_NOEXEC 或 SEC_RBACAWARE。 只能为一个调用指定一个标志。 PROC_RBAC_GET: 返回时,保存 SEC_NOEXEC , SEC_RBACAWARE 和 SEC_PRIVCMD 的状态。 |
返回值
成功完成时, proc_rbac_op 子例程返回零值。 如果子例程失败,它将返回值 1 ,并且将设置 errno 。
错误代码
如果下列其中一个值为 true ,那么 proc_rbac_op 子例程将失败:
| 项 | 描述 |
|---|---|
| EINVAL | 提供了无效的 Cmd 值,或者使用 PROC_RBAC_GET 命令为 Status 参数提供了 NULL 指针。 |
| ESRCH | pid 值与有效进程不对应。 |
| EPERM | 调用进程没有相应的 RBAC 特权。 或者,如果启用了可信AIX,调用进程没有适当的标签信息。 |
| Efault | 对 Param 缓冲区的复制操作失败。 |
| ENOSYS | 系统未在增强的 RBAC 方式下运行。 |