IBM System Director 6.1 是 IBM 在 2008 年底宣布的一款全新的平台管理软件。它的平台支持列表不仅包括 AIX、Linux、Windows、Vmware 等多种主流操作系统,还包括 IBM 几乎全线的硬件平台以及非 IBM 的 x86 硬件平台。它非常适用于对大中型规模的局域网系统中的 Linux 系统集群或是 Microsoft Win 集群的系统管理。从账号权限管理的角度,它提供的功能包括基于配置文件的节点账号管理,基于角色的统一权限管理。而且 Director6.1 还和主流的 LDAP 服务器无缝结合。本文介绍了 Director6.1 在账号权限管理的主要功能,并通过两个实例,帮助 IT 管理员掌握如何使用 Director6.1 实现 Linux 节点账号的批量更新以及节点权限的统一管理。本文假设用户已经掌握了 Director6.1 的基本概念,了解如何部署 Director 系统,并使用 Director6.1 实现被管理节点的发现和连接等。读者可以通过访问"IBM System Director 6.1 资源中心 "获得相关知识。同时因为篇幅限制,本文也不会详细讨论 ACL,基于角色的权限管理以及 LDAP 的基本概念。
在使用 IBM Systems Director6.1 管理 Linux 集群前,需要准备一台单独的服务器来安装 Director Server 系统,然后可以从 Director Server 批量分发 Agent( 代理程序 ) 到集群每个被管理的节点。之后,管理员就可以通过 Director Server 提供的 Web 界面实现集中配置和管理工作了。下图是一个典型的 Director 管理环境的拓扑图。目前,Director 支持的 Linux 管理节点包括 Redhat 和 SUSE 企业版。
图 1. Director 拓扑图
Linux 集群账号配置有两种常见的方式:批量分发配置文件,如 /etc/passwd 和 /etc/group,或是使用 LDAP 服务器来实现集中账号管理。 Director6.1 对这两种方式都实现了很好的封装。在批量分发配置文件上,Director6.1 的 Config Manager 组件将配置文件抽象为模板文件,这样的好处是可以对用户屏蔽不同操作系统的具体配置细节。另外,用户也无需自行编写配置文件分发程序。下面是一个使用 Config Manager 的具体实例,该例通过配置模板“帐户配置模板”实现了在多个系统上批量创建用户组 groupA,以及属于 groupA 的两个用户 userA 和 userB.
1)用户通过浏览器登陆 IBM System Director 6.1 的 web 控制台后,进入系统配置 -> 配置模板, 如图,在该页面中可以对配置模板进行创建和管理。
图 2. 配置模板
2)点击“创建”按钮,用户可以创建定制的配置模板,如图,用户创建了目标类型为“独立服务器”下的“系统帐户配置”模板,该模板可配置用户或者用户组的系统帐户信息,将该模板命名为“帐户配置模板”。
图 3. 创建账户配置模板
3)点击 “继续”,可以通过向导为“帐户配置模板”定制相应的系统用户和系统用户组,如图,创建了两个用户 userA, userB, 以及用户组 groupA, 并且将用户 userA, userB 加入到用户组 groupA 中。
图 4. 创建用户和用户组
4)保存后得到名为“帐户配置模板”的模板, 如图,该配置模板会在目标系统上创建一个用户组 groupA,以及 groupA 下的两个用户 userA 和 userB.
图 5. 帐户配置模板
5)创建好“帐户配置模板”后,最后需要做的就是将该配置模板部署该模板到目标系统上,如图,点击“部署”按钮后,会出现向导引导用户进行部署,在部署过程中,会要求选择相应的目标系统,部署完成后 , Director 就会在所有所选择的目标系统上创建 groupA,以及 groupA 中的用户 userA 和 userB.
图 6. 部署帐户配置模板
除了上述的使用被管理节点自身的账号和权限配置外,还可以使用 Director 提供的角色机制进行统一的管理。 IBM Systems Director 提供了丰富的被管理节点任务,如远程桌面,虚拟终端,文件传输等。这些任务都是基于角色控制的,换句话说 Director 账号的角色决定了可以执行的任务。同时,Director 账号还可以与具体的服务器资源绑定。因此,借助 Director 这套角色机制,IT 管理人员不仅可以以任务为单元进行权限的分配,而且只需要管理一套用户账号。 Director 的账户可以来源于 Director Server 所在服务器上的用户账号,也可以是从现有的 LDAP 服务器导入。在安装时,Director 预定义四类角色与之自动绑定:
- SMAdministrator: 此角色拥有对系统完全的操作权限,可以执行任何系统任务,访问任何资源,对程序进行任意的配置。
- SMManager: 此角色能够执行系统管理的操作,当然,这些操作仅是 SMAdministrator 所能执行的操作的一个子集。比如此角色无法执行和系统安全管理及配置有关的操作。但是,此角色可以运行系统中所有的基本管理器的功能。
- SMMonitor: 此角色可以以只读的方式访问一些系统管理的功能模块。比如,能够监视进程运行的情况,查看系统库存,检视系统硬件状态,但是却不能创建虚拟机及重新配置 BladeCenter.
- SMUser: 此角色是指所有通过验证能够登录 IBM Systems Director 的用户,他们仅仅能够查看系统的资源和属性。
当然,系统管理员还可以根据需求自定义更细粒度的角色。下面就以一个实例来解释如何使用 Director 自身的账户系统。该实例定制了一个允许对 Director 提供的“常规”和“库存”两大管理功能进行操作的角色 RoleA,并将该角色 RoleA 分配给用户 UserC,使得 UserC 对于自定义的资源组 GroupC 里的资源拥有角色 RoleA 具有的“常规”和“库存”两大管理功能。
1)首先用户通过 web 控制台进入安全性 -> 角色页面,如图,Director 为用户预定义的角色,同时用户可以通过该管理页面实现角色的创建,编辑和删除。
图 7. 角色管理页面
2)用户通过“创建“按钮按照创建向导可以定制角色来满足用户自身的管理需求,在创建向导中用户可以对角色选择相应的许可权,IBM Director Systems 6.1 为用户提供了细粒度的基于管理功能进行划分的许可权 , 这里就不对此进行赘述。用户可以根据自身的需求选择所需要的许可权。如图,在本例中,用户创建了一个允许对 Director 提供的“常规”和“库存”两大管理功能进行操作的角色 RoleA 。
图 8. RoleA 角色总结
3)创建好角色 RoleA 后,用户进入安全性 -> 用户页面,点击“分配角色”按钮,按照向导可以将 RoleA 赋予给相应的用户来实现其对某些管理资源的在“常规“和“库存“上的管理,如图,通过“分配角色”,用户 UserC 对于自定义的资源组 GroupC 里的资源拥有了角色 RoleA 具有的“常规”和“库存”两大管理功能。
图 9. 分配角色总结
最后,对结果进行验证。通过用户 UserC 来登陆 IBM System Director 6.1 web 控制台,登陆后如图,通过左边的“所有任务”的视图可以看到,用户 UserC 只有进行“常规”和“库存”管理功能的权限。进入“浏览资源” -> “所有系统”,发现只有两个 GroupC 中的管理资源,其他资源并没有显示。所以 UserC 如用户所期望的,UserC 只对于自定义的资源组 GroupC 里的资源拥有角色 RoleA 具有的“常规”和“库存”进行管理的权限。
图 10. 用户 UserC 登陆
IBM Systems Director 还可以使用 LDAP 中存储的账号。目前支持的 LDAP 服务器包括 IBM Tivoli Directory Server 和 Microsoft Active Directory 。事实上,使用 LDAP 而不是本地操作系统账户来进行用户访问控制方便和高效的多,特别是,当需要对大量的用户授予访问 IBM Systems Director 的权限时尤其如此。配置 IBM Systems Director 以使用 LDAP 存储的账号有很多优点:
- 许多企业已经在网络环境中配置了 LDAP 服务器,这样使用现有的 LDAP 中的用户信息来授予对 IBM Systems Director 的访问权限,可以节省大量的创建用户帐户的时间和精力
- 通过修改在 LDAP 中用户所属的组或直接修改用户条目,管理员能够很方便的一次性修改甚至终结用户对多个 IBM Systems Director 实例的访问权限
- 用户只需要一对用户 ID 和密码就可以访问多个 IBM Systems Director 管理服务器。
下面是 Director 与 LDAP 服务器集成的具体步骤。
首先您需要在 LDAP 服务器上为 IBM Systems Director 创建用户组和账号。必要的用户组包括以下四个:
- SMAdmin: 对应于 Administration Group,该组用户可以执行所有系统操作
- SMMgr: 对应于 Manager Group, 该组用户可以执行所有的系统管理操作,例如,可以对对管理的系统进行配置和安全方面的管理。
- SMMon: 对应于 Monitor Group, 该组用户可以访问一下诸如系统状态监视的操作(它们通常是只读的)。
- SMUser: 对应于 User 组,该组的用户是指所有通过的安全验证的用户,他们只能执行最基本的操作,例如查看系统资源状况。
在 IBM Tivoli Directory Server 上配置完成后应该如下图所示。具体的操作步骤请参考"Understanding LDAP - Design and Implementation"一书。
图 11. 创建 LDAP 组
图 12. 创建 LDAP 用户
下一步,需要在 Director Server 上修改默认配置文件 "securityLDAP.properties" 以使 Director Server 能够正确连接到指定的 LDAP 服务器。该文件可在目录 "<director_install_path>/lwi/conf/overrides/" 下找到 , <director_install_path> 是指 IBM Systems Director 的安装目录。下面是一个典型的配置实例。
# 使用 LDAP 方式进行账号认证,请使用以下 JAAS 属性。
com.ibm.lwi.rolemanagerfragment=com.ibm.lwi.security.rolemanagers.ldap.RoleManagerLdap
com.ibm.lwi.security.jaas.jaasindex=Jaas2.LdapWithHandler
com.ibm.lwi.security.jaas.failedLoginHandler=com.ibm.security.jaas2lwi.FailedLoginHandler
com.ibm.lwi.security.jaas.failedLoginHandler.debug=false
com.ibm.lwi.security.numFailedAttempts=5
com.ibm.lwi.security.jaas.failedLoginHandler.normalizeUsernameClass=
com.ibm.security.jaas2lwi.CaseNormalizeUsername
# LDAP 服务器地址 ( 可以使用 IP 地址,或者 hostname)
com.ibm.lwi.LDAPHost = *************
# LDAP 服务端口地址 ( 默认的端口号是 389)
com.ibm.lwi.LDAPPort = 2389
# LDAP Administrator 账号 DN
com.ibm.lwi.LDAPAdminUser = cn=root
# LDAP Admin 密码
com.ibm.lwi.LDAPAdminPassword = ********
# LDAP Base
com.ibm.lwi.LDAPBase = dc=ibm,dc=com
# 以下属性与具体的 IBM Tivoli Directory Server 相关
com.ibm.lwi.searchfilter=(& (uid=%v)(objectclass=inetOrgPerson))
com.ibm.lwi.rolemanager.ldap.filters.usergroup=
(|(objectclass=groupOfNames)(objectclass=groupOfUniqueNames))
com.ibm.lwi.rolemanager.ldap.filters.users =(objectclass=inetOrgPerson)
com.ibm.lwi.rolemanager.ldap.names.memberAttribute = member
com.ibm.lwi.rolemanager.ldap.names.loginName = uid |
为了保护存储在 "securityLDAP.properties" 中的 LDAP 密码,Director Server 提供了一个命令行工具 "lwiencoder" 。如下图所示,该命令对 "securityLDAP.properties" 进行加密。参数 "-keylist" 指定了加密过程中所需的密钥信息,用户使用 "com.ibm.lwi.LDAPAdminPassword" 即可。
lwiencoder -filename securityLDAP.properties -keylist com.ibm.lwi.LDAPAdminPassword |
完成上述步骤后,Director 服务器需重启。之后,用户登录就可以看到 IBM Systems Director 已经导入了 LDAP 的账户集合,如下图所示:
图 13. 从 LDAP 导入的用户账户
|
注意 :
完成重启之后,您只能使用 LDAP 中的用户账户进行登录,本地操作系统账户将暂时失效,直到您将 IBM Systems Director 重新配置成使用本地账户进行用户验证。 |
利用 Director6.1 简洁而又直观的 Web 界面,Linux 集群管理员可以轻松的管理和配置名下的机器。无论是 Config Manager 的配置分发功能,还是 Director 特有的账号系统,都是管理员常用而又有效地账号权限管理工具。最重要的是,Linux 管理员无需关心底层的操作系统是 Redhat 还是 SUSE,硬件系统是 X 系列服务器还是 P 系列服务器。而且,尽管本文只集中讨论了 Linux 的集群管理,但是凭借着 Director 系统先进的平台抽象能力,本文所介绍的步骤稍加修改也适用于 Microsoft 集群系统的管理。从而极大地节约了 IT 管理成本。
- “使用 XML-RPC 为 C++ 应用程序启用 Web 服务” 包含了 Director6.1 的最新功能介绍。
- 在 developerWorks Linux 专区 寻找为 Linux 开发人员(包括 Linux 新手入门)准备的更多参考资料,查阅我们 最受欢迎的文章和教程。
- 在 developerWorks 上查阅所有 Linux 技巧 和 Linux 教程。
