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

Procedure如何确定可以运行的特权命令

未直接将权限指定给用户时,此用户可通过权限配置文件获取特权命令的访问权限。必须在配置文件 shell 中执行权限配置文件中的命令。

开始之前

验证到 Solaris Management Console 的用户或角色必须具有 solaris.admin.usermgr.read 授权。基本 Solaris 用户权限配置文件包括此授权。

  1. 确定已指定给您的权限配置文件。


    $ /usr/sadm/bin/smuser list -- -n username -l
    
    Authenticating as user: admin
    
    … Please enter a string value for: password :: 
    
    …
    
    User name:      username
    
    User ID (UID):  130
    
    Primary group:  staff
    
    Secondary groups: 
    
    Comment: object mgt jobs
    
    Login Shell: /bin/sh
    
    Home dir server: system
    
    Home directory: /export/home/username
    
    AutoHome setup: True
    
    Mail server: system
    
    Rights: Object Access Management
    
    Assigned Roles:
  2. 找到以 "Rights:" 开头的行。

    "Rights" 行列出已直接指定给您的权限配置文件的名称。

  3. exec_attr 数据库中查找权限配置文件的名称。


    $ cd /etc/security
    
    $ grep "Object Access Management" exec_attr 
    
    Object Access Management:solaris:cmd:::/usr/bin/chgrp:privs=file_chown
    
    Object Access Management:solaris:cmd:::/usr/bin/chown:privs=file_chown
    
    Object Access Management:suser:cmd:::/usr/bin/chgrp:euid=0
    
    Object Access Management:suser:cmd:::/usr/bin/chmod:euid=0
    
    …

    具有已添加权限的命令列在 solaris 策略项的末尾。

  4. 在配置文件 shell 中键入需要权限的命令。

    在常规 shell 中键入这些命令时,它们不会使用权限运行,因而不会成功运行。


    % pfsh
    
    $

示例 11–11 在配置文件 Shell 中运行特权命令

在以下示例中,用户 jdoe 不能从其常规 shell 中更改文件的组权限。但是,在配置文件 shell 中键入命令时,jdoe 可以更改这些权限。


% whoami

jdoe

% ls -l useful.script

-rwxr-xr-- 1 nodoe eng 262 Apr 2 10:52 useful.script

chgrp staff useful.script

chgrp: useful.script: Not owner

% pfksh

$ /usr/ucb/whoami

jdoe

$ chgrp staff useful.script

$ chown jdoe useful.script

$ ls -l useful.script

-rwxr-xr-- 1 jdoe staff 262 Apr 2 10:53 useful.script