电脑技术学习

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

dn001

  前文笔者介绍了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-ccomment-ggroup-mhomedir-uUID-sshell-Pprofilerolename

  参数说明:

  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-uUID-Rrolename

  参数说明:

  -u UID :用户的 UID。

  -R rolename :指定给用户的角色。

  l 要使更改生效,请重新启动名称服务高速缓存守护进程,命令如下:

#svcadmrestartsystem/name-service-cache

  l 要解除锁定角色帐户,用户必须创建口令。如果已使用 roleadd 命令添加了本地角色,则必须执行此步骤。 

   %surolename
  PassWord:<键入rolename的口令>
  ConfirmPassword:<重新键入rolename的口令>

  应用实例2 :通过命令行让root 用户成为角色:

  l 以普通用户身份登录到目标主机。

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

  l 创建可承担 root 角色的本地用户。命令如下:

$useradd-ccomment-dhomedirusername

  参数说明:

  -c comment :描述用户的注释。

  -d homedir :用户的起始目录。此目录应位于本地系统中。

  Username :新本地用户的名称。

  命令实例:

#useradd-c"Localadministrativeuser"-d/export/home1admuser

  l 为用户指定口令。 

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

  l 将 root 用户更改为角色。 

#usermod-Ktype=roleroot

  l 查看 root 是否为角色。

  user_attr 文件中 root 项的显示应与以下内容类似:

   root::::type=role;auths=solaris.*,solaris.grant;profiles=WebConsole
  Management,All;lock_after_retrIEs=no

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

#usermod-Rrootadmuser

  l 将 root 角色指定给名称服务中选定的用户帐户。

  在以下示例中,用户承担 root 角色。

%roles
root
%suroot
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-rprimaryadm-l<Typeprimaryadmpassword> 
modify---nopera-c"Handlesprinters,backup,ANDrestore"
-p"MediaRestore"

  使用 smrole modify 命令更改域中的角色

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

$/usr/sadm/bin/smrole-Dnis:/examplehost/example.domain
-rprimaryadm-l<Typeprimaryadmpassword>
modify---nclockm-r108-u110

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

标签: