系统管理指南:安全性服务

Procedure如何确定进程的权限

此过程说明如何确定可用于进程的权限。列出内容不包括已经指定给特定命令的权限。

    列出可用于 shell 进程的权限。


    % ppriv pid
    
    $ ppriv -v pid
    
    pid

    进程号。使用双美元符号 ($$) 将父 shell 的进程号传递到命令。

    -v

    提供权限名称的详细列表。


示例 11–1 确定当前 shell 中的权限

在以下示例中,列出了用户 shell 进程的父进程中的权限。在下面第二个示例中,列出了权限的全名。输出中的单个字母指代以下权限集:

E

有效权限集。

I

可继承权限集。

P

允许权限集。

L

限制权限集。


% ppriv $$

1200:   -csh

flags = <none>

        E: basic

        I: basic

        P: basic

        L: all

% ppriv -v $$

1200:   -csh

flags = <none>

        E: file_link_any,proc_exec,proc_fork,proc_info,proc_session

        I: file_link_any,proc_exec,proc_fork,proc_info,proc_session

        P: file_link_any,proc_exec,proc_fork,proc_info,proc_session

        L: cpc_cpu,dtrace_kernel,dtrace_proc,dtrace_user,…,sys_time


示例 11–2 确定可承担的角色的权限

角色使用管理 shell 或配置文件 shell。必须承担角色并使用此角色的 shell 列出已直接指定给此角色的权限。在以下示例中,角色 sysadmin 不具有直接指定的权限。


% su sysadmin

Password: <键入 sysadmin 的口令>

$ /usr/ucb/whoami

sysadmin

$ ppriv -v $$

1400:   pfksh

flags = <none>

        E: file_link_any,proc_exec,proc_fork,proc_info,proc_session

        I: file_link_any,proc_exec,proc_fork,proc_info,proc_session

        P: file_link_any,proc_exec,proc_fork,proc_info,proc_session

        L: cpc_cpu,dtrace_kernel,dtrace_proc,dtrace_user,…,sys_time