Solaris Management Console GUI 是管理 RBAC 的首选方法。要使用该 GUI,请参见如何使用 GUI 创建和指定角色。另外,还可以使用命令行界面,如此过程中所述。
请勿尝试同时使用命令行和图形用户界面来管理 RBAC。这样可能会导致对配置所做的更改出现冲突,从而使得行为不可预测。您可以使用这两种工具来管理 RBAC,但是不能同时使用二者。
要创建角色,必须承担具有主管理员权限配置文件的角色,或切换到用户 root。
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
选择以下命令之一,在命令行上创建角色。
对于本地名称服务范围内的角色,请使用 roleadd 命令。
与 Solaris Management Console GUI 或命令行界面相比,roleadd 命令的限制更多。运行 roleadd 命令后,还必须运行 usermod 命令才能将角色指定给用户。然后,用户还必须为角色设置口令,如如何将角色指定给本地用户中所述。
# roleadd -c comment \ -g group -m homedir -u UID -s shell \ -P profile rolename |
描述 rolename 的注释。
rolename 的组指定。
rolename 的起始目录的路径。
rolename 的 UID。
rolename 的登录 shell。此 shell 必须是配置文件 shell。
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 |
要管理的域的名称。
可以修改角色的管理角色的名称。管理角色必须具有 solaris.role.assign 授权。如果要修改已承担的角色,则该角色必须具有 solaris.role.delegate 授权。
admin-role 的口令输入提示。
验证选项和子命令选项之间必需的分隔符。
新角色的名称。
描述角色功能的注释。
可以承担 rolename 的用户的名称。
rolename 的起始目录。
rolename 的完整说明。此说明显示在 Solaris Management Console GUI 中。
rolename 的功能中包括的权限配置文件。此选项可为角色提供具有管理功能的命令。您可以指定多个 -p profile 选项。
要使更改生效,请参见如何将角色指定给本地用户。
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 |