前文笔者介绍了Solaris 10 角色的管理的概念,下面结合相关命令进行创建角色.Solaris Management Console GUI 是管理 RBAC 的首选方法.另外,还可以使用命令行界面.虽然可以手动编辑本地 RBAC 数据库,但是强烈建议不要进行此类编辑.以下命令可用于管理对具有 RBAC 的任务进行访问.表1是RBAC 相关管理命令
表1 RBAC 管理命令
命令名称 |
功能说明 |
auths |
显示用户的授权. |
makedbm |
生成 dbm 文件. |
nscd |
名称服务高速缓存守护进程,适用于高速缓存 user_attr、prof_attr 和 exec_attr 数据库.使用 svcadm 命令重新启动守护进程. |
pam_roles |
PAM 的角色帐户管理模块.检查承担角色的授权. |
pfexec |
由配置文件 shell 使用以执行在 exec_attr 数据库中指定的带有安全属性的命令. |
policy.conf |
系统安全策略的配置文件.列出授予的授权、授予的权限和其他安全信息.policy.conf 文件提供了向所有用户授予特定权限配置文件、特定授权和特定权限的方法. |
profiles |
显示指定用户的权限配置文件. |
roles |
显示指定用户可以承担的角色. |
roleadd |
向本地系统中添加角色. |
roledel |
从本地系统中删除角色. |
rolemod |
在本地系统上修改角色的属性. |
smattrpop |
将源安全属性数据库合并到目标数据库.用于需要将本地数据库合并到名称服务的情况.还用于未提供转换脚本的升级. |
smexec |
管理 exec_attr 数据库中的项.要求验证. |
smmultiuser |
管理对用户帐户的批量操作.要求验证. |
smprofile |
管理 prof_attr 和 exec_attr 数据库中的权限配置文件.要求验证. |
smrole |
管理角色帐户中的角色和用户.要求验证. |
smuser |
管理用户项.要求验证. |
useradd |
向系统中添加用户帐户.-P 选项将角色指定给用户帐户. |
userdel |
从系统中删除用户的登录. |
usermod |
修改系统上的用户帐户属性. |
下面结合具体例子,介绍角色管理命令的使用.
应用实例1:通过命令行在本地创建角色:
l 承担主管理员角色,或成为root超级用户.
l 选择roleadd 命令,在本地命令行上创建角色.命令如下:
# 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 :新本地角色的名称. 说明:运行 roleadd 命令后,还 运行 usermod 命令才能将角色指定给用户. 然后,用户还 为角色设置口令,命令如下: l 将角色指定给本地用户.如果已使用 roleadd 命令添加了本地角色,则 执行此步骤.
# usermod -u UID -R rolename | 参数说明: -u UID :用户的 UID. -R rolename :指定给用户的角色. l 要使更改生效,请重新启动名称服务高速缓存守护进程,命令如下:
# svcadm restart system/name-service-cache |
l 要解除锁定角色帐户,用户 创建口令.如果已使用 roleadd 命令添加了本地角色,则 执行此步骤.
% su rolename Password: <键入 rolename 的口令> Confirm Password: <重新键入 rolename 的口令> |
应用实例2 :通过命令行让root 用户成为角色: l 以普通用户身份登录到目标主机. l 承担主管理员角色,或成为超级用户. l 创建可承担 ro |