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

Procedure如何通过命令行创建角色

Solaris Management Console GUI 是管理 RBAC 的首选方法。要使用该 GUI,请参见如何使用 GUI 创建和指定角色。另外,还可以使用命令行界面,如此过程中所述。


注 –

请勿尝试同时使用命令行和图形用户界面来管理 RBAC。这样可能会导致对配置所做的更改出现冲突,从而使得行为不可预测。您可以使用这两种工具来管理 RBAC,但是不能同时使用二者。


开始之前

要创建角色,必须承担具有主管理员权限配置文件的角色,或切换到用户 root

  1. 承担主管理员角色,或成为超级用户。

    主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 选择以下命令之一,在命令行上创建角色。

    • 对于本地名称服务范围内的角色,请使用 roleadd 命令。


      注 –

      与 Solaris Management Console GUI 或命令行界面相比,roleadd 命令的限制更多。运行 roleadd 命令后,还必须运行 usermod 命令才能将角色指定给用户。然后,用户还必须为角色设置口令,如如何将角色指定给本地用户中所述。



      # roleadd -c comment \
      
      -g group -m homedir -u UID -s shell \
      
      -P profile rolename
      
      -c comment

      描述 rolename 的注释。

      -g group

      rolename 的组指定。

      -m homedir

      rolename 的起始目录的路径。

      -u UID

      rolename 的 UID。

      -s shell

      rolename 的登录 shell。此 shell 必须是配置文件 shell。

      -P profile

      rolename 的一个或多个权限配置文件。

      rolename

      新本地角色的名称。

    • 使用 smrole add 命令。

      此命令可在 NIS、NIS+ 或 LDAP 等分布式名称服务中创建角色。此命令将作为 Solaris Management Console 服务器的客户机运行。


      $ /usr/sadm/bin/smrole -D domain-name \ 
      
      -r admin-role -l <Type admin-role password> \
      
      add -- -n rolename -a rolename -d directory\
      
      -F full-description -p profile
      
      -D domain-name

      要管理的域的名称。

      -r admin-role

      可以修改角色的管理角色的名称。管理角色必须具有 solaris.role.assign 授权。如果要修改已承担的角色,则该角色必须具有 solaris.role.delegate 授权。

      -l

      admin-role 的口令输入提示。

      --

      验证选项和子命令选项之间必需的分隔符。

      -n rolename

      新角色的名称。

      -c comment

      描述角色功能的注释。

      -a username

      可以承担 rolename 的用户的名称。

      -d directory

      rolename 的起始目录。

      -F full-description

      rolename 的完整说明。此说明显示在 Solaris Management Console GUI 中。

      -p profile

      rolename 的功能中包括的权限配置文件。此选项可为角色提供具有管理功能的命令。您可以指定多个 -p profile 选项。

  3. 要使更改生效,请参见如何将角色指定给本地用户


示例 9–6 使用 smrole 命令创建自定义操作员角色

smrole 命令可在名称服务中指定新角色及其属性。在以下示例中,主管理员创建了一个新版本的操作员角色。该角色具有标准的操作员权限配置文件以及介质恢复权限配置文件。请注意,此命令会提示您输入新角色的口令。


% su primaryadm

Password: <键入 primaryadm 的口令> 

$ /usr/sadm/bin/smrole add -H myHost -- -c "Backup and Restore Operator" \

-n operadm2 -a janedoe -d /export/home/operadm \

-F "Backup/Restore Operator" -p "Operator" -p "Media Restore"

Authenticating as user: primaryadm



Type /? for help, pressing <enter> accepts the default denoted by [ ]

Please enter a string value for: password :: <键入 primaryadm 的口令>



Loading Tool: com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost

Login to myHost as user primaryadm was successful.

Download of com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost was successful.



Type /? for help, pressing <enter> accepts the default denoted by [ ]

Please enter a string value for: password ::<键入 operadm2 的口令>



$ svcadm restart system/name-service-cache

包含 list 子命令的 smrole 命令用于显示新角色:


$ /usr/sadm/bin/smrole list --

Authenticating as user: primaryadm



Type /? for help, pressing <enter> accepts the default denoted by [ ]

Please enter a string value for: password :: <键入 primaryadm 的口令>



Loading Tool: com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost

Login to myHost as user primaryadm was successful.

Download of com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost was successful.

root                    0             Superuser

primaryadm            100             Most powerful role

sysadmin              101             Performs non-security admin tasks

operadm               102             Backup Operator

operadm2              103             Backup/Restore Operator