Solaris 10角色管理命令使用攻略

来源:IT专家网 作者:曹江华
  

    前文笔者介绍了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 创建可承担 root 角色的本地用户。命令如下:

 $ useradd -c comment -d homedir username

    
    参数说明:
  -c comment :描述用户的注释。
  -d homedir :用户的起始目录。此目录应位于本地系统中。
  Username :新本地用户的名称。
  命令实例:

   

# useradd -c "Local administrative user" -d /export/home1 admuser

    
    l 为用户指定口令。 

 

  # passwd -r files admuser
      New Password: <键入口令>
  Re-enter new Password: <重新键入口令>
  passwd: password successfully changed for admuser

    
    l 将 root 用户更改为角色。 

 # usermod -K type=role root

    
    l 查看 root 是否为角色。
  user_attr 文件中 root 项的显示应与以下内容类似:

 root::::type=role;auths=solaris.*,solaris.grant;profiles=Web Console
  Management,All;lock_after_retries=no

    
    l 将 root 角色指定给本地管理用户。

 

 # usermod -R root admuser

    
    l 将 root 角色指定给名称服务中选定的用户帐户。
  在以下示例中,用户承担 root 角色。

  

 % roles
root
% su root
Password: <键入 root 的口令>
# /usr/ucb/whoami 提示符更改为角色提示符
root
$ ppriv $$


    
    说明:完成此过程后,将无法再以 root 身份登录到系统,但在单用户模式下除外。如果已为您指定 root 角色,则可以对 root 执行 su。通过将 root 用户更改为角色,可以防止匿名 root 登录。由于用户必须首先登录,然后才能承担 root 角色,因此用户的登录 ID 将提供给审计服务并位于 sulog 文件中。如果将 root 用户更改为角色,但未将该角色指定给有效用户,或当前没有与 root 用户等效的现有角色,则任何用户都不能成为超级用户。为安全起见,至少应为一个本地用户指定 root 角色。如果以 root 身份登录,则无法执行此过程。您必须以自身身份登录,然后才能对 root 执行 su。

    应用实例3 :通过命令行更改角色的属性
  使用 smrole modify 命令更改本地角色的属性:
  在以下示例中,将修改 opera 角色以添加介质恢复权限配置文件。

   

 $ /usr/sadm/bin/smrole -r primaryadm -l <Type primaryadm password>  \
modify -- -n opera -c "Handles printers, backup, AND restore" \
-p "Media Restore"

    
    使用 smrole modify 命令更改域中的角色
  在以下示例中,将更改 clockm 角色。ID 为 108 的 NIS 用户无法再承担该角色。ID 为 110 的 NIS 用户可以承担 clockm角色。

   

 $ /usr/sadm/bin/smrole -D nis:/examplehost/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n clockm-r 108 -u 110

    
    总结:到此为止笔者简单介绍了Solaris 10 角色的管理命令使用方法,下面笔者会介绍使用GUI工具SMC 进行角色和权限管理。

(责任编辑:A6)


时间:2008-09-10 10:32 来源:IT专家网 作者:曹江华 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量