要在 Configuration Manager 中使用现有的 LDAP 服务器,您需要:
扩展服务器模式,以支持 Configuration Manager 用来存储配置数据的自定义对象类和属性。
在服务器中自定义和存储系统信息库中各条目的映射信息,以及 Configuration Manager 支持的各实体的映射信息。
要在 Configuration Manager 中使用现有的 LDAP 服务器,必须具有安装 CD 中的以下部署工具:
88apoc-registry.ldif:模式文件,提供用来存储配置数据的对象类和属性。
OrganizationMapping:缺省的特性文件,用来描述 LDAP 条目和 Configuration Manager 实体之间的映射。
UserProfileMapping:缺省的特性文件,用来描述 LDAP 用户条目属性和 Configuration Manager 用户配置文件属性之间的映射。
createServiceTree:脚本,用来将映射文件存储到 LDAP 系统信息库中。
deployApoc:脚本,用来扩展 LDAP 服务器模式并将映射文件存储到 LDAP 系统信息库中。
配置数据存储在条目树中,这些条目树被附加到数据的关联条目。在 LDAP 服务器上存储这些树使用的对象类和属性之前,必须向 LDAP 服务器模式中添加对象和类。例如,提供的模式扩展文件以 LDIF 格式向 Sun JavaTM System Directory Server 中添加这些对象和类。要向其他 LDAP 服务器中添加这些对象和类,需要使用这些服务器可以识别的格式。
要定义 LDAP 条目和 Configuration Manager 实体之间的映射,必须编辑 Organization 映射文件。必须为各个键提供与 LDAP 系统信息库的版式相匹配的值。
用户实体通过一个所有实体使用的对象类和一个其值在整个系统信息库中唯一的属性进行标识。可提供显示名称的格式,此格式将影响用户在管理应用程序中如何显示;且如果组织中用户条目使用容器条目,则可以选择定义该条目。键名及其缺省值有:
# 所有用户条目使用的对象类 User/ObjectClass=inetorgperson # 属性,用户条目中该属性的值在系统信息库中是唯一的 User/UniqueIdAttribute=uid # 用户条目的组织条目中的可选容器, # 如果未使用,则删除该行 User/Container=ou=People # 管理应用程序中的显示名称的格式 User/DisplayNameFormat=sn, givenname
角色实体通过其可能使用的对象类列表和相应的命名属性列表进行标识。这些列表使用 <item1>、<item2>、……、<itemN> 格式,并且必须对齐。也就是说,这些列表必须具有相同数目的项,并且第 n 个对象类必须与第 n 个命名属性一同使用。通过两个键定义了角色和用户之间的关系以及角色和主机之间的关系。VirtualMemberAttribute 键必须指定可以从用户条目或主机条目中查询属性值的属性。该键还必须含有条目所属角色的完整 DN。MemberAttribute 键必须从用户或主机条目为搜索过滤器指定属性。该键还必须含有用户或主机所属角色的完整 DN。VirtualMemberAttribute 键可以是服务类虚拟属性,但 MemberAttribute 键必须是可以在过滤器中使用的真实属性。键名及其缺省值有:
# 角色的对象类列表 Role/ObjectClass=nsRoleDefinition # 相应命名属性的对齐列表 Role/NamingAttribute=cn # 包含用户/主机所属角色的 DN # 的真实属性(可在过滤器中使用) Role/MemberAttribute=nsRoleDN # 对用户/主机的查询返回用户/主机 # 所属角色的 DN 的属性 Role/VirtualMemberAttribute=nsRole
组织实体的标识方式与角色类似,采用的是对象类和相应命名属性的对齐列表。键名及其缺省值有:
# 组织的对象类列表 Organization/ObjectClass=organization # 相应命名属性的对齐列表 Organization/NamingAttribute=o
域实体的标识方式与组织实体类似。键名及其缺省值有:
# 域的对象类列表 Domain/ObjectClass=ipNetwork # 相应命名属性的对齐列表 Domain/NamingAttribute=cn
主机实体的标识方式与用户实体类似。键名及其缺省值有:
# 所有主机条目使用的对象类 Host/ObjectClass=ipHost # 属性,主机条目中该属性的值在系统信息库中是唯一的 Host/UniqueIdAttribute=cn # 主机条目的域条目中的可选容器, # 如果未使用,则删除该行 Host/Container=ou=Hosts
要定义 LDAP 用户条目属性和 Configuration Manager 用户实体属性之间的映射,必须编辑用户配置文件映射文件。每个键对应一个 Configuration Manager 用户属性。正如组织映射所示,可以将键作为值指定给用户条目中的属性名。User/DisplayNameFormat 设置中使用的属性必须在 User Profile 映射中指定。键名及其缺省值有:
# inetOrgPerson.givenName org.openoffice.UserProfile/Data/givenname = givenname # person.sn org.openoffice.UserProfile/Data/sn = sn # inetOrgPerson.initials org.openoffice.UserProfile/Data/initials = initials # organizationalPerson.street org.openoffice.UserProfile/Data/street = street,postalAddress,streetAddress # organizationalPerson.l (city) org.openoffice.UserProfile/Data/l = l # organizationalPerson.st (state) org.openoffice.UserProfile/Data/st = st # organizationalPerson.postalCode org.openoffice.UserProfile/Data/postalcode = postalcode # country.c (country) org.openoffice.UserProfile/Data/c = # organizationalPerson.o (company) org.openoffice.UserProfile/Data/o = o,organizationName # deprecated -- no LDAP corollary org.openoffice.UserProfile/Data/position = # organizationalPerson.title org.openoffice.UserProfile/Data/title = title # inetOrgPerson.homePhone org.openoffice.UserProfile/Data/homephone = homephone # organizationalPerson.telephoneNumber org.openoffice.UserProfile/Data/telephonenumber = telephonenumber # organizationalPerson.facsimileTelephoneNumber org.openoffice.UserProfile/Data/facsimiletelephonenumber = facsimiletelephonenumber,officeFax # inetOrgPerson.mail org.openoffice.UserProfile/Data/mail = mail
自定义反映 LDAP 系统信息库状态的映射文件之后,即可部署这些映射文件。如果 LDAP 服务器模式已包含所需的对象类和属性,则可以直接运行脚本 createServiceTree;否则,必须运行脚本 deployApoc。
deployApoc 脚本专门在 Sun JavaTM System Directory Server 中使用。该脚本将提供的模式扩展文件复制到适当的目录中,循环 LDAP 服务器,然后调用 createServiceTree 脚本。它必须作为有权复制模式系统信息库中的文件并有权重新启动服务器的用户来执行,并且必须通过以下方法调用:
./deployApoc <Directoy Server Directory>
<Directoy Server Directory> 参数必须是指向 Directory Server 安装的 slapd-<server name> 子目录的路径。假定使用缺省目录和服务器的安装名为 myserver.mydomain,则该目录应为 /var/Sun/mps/slapd-myserver.mydomain。
无论 createServiceTree 脚本是直接调用的还是通过 deployApoc 脚本调用的,都将提示用户提供 LDAP 服务器的位置(主机名、端口号和基本 DN)以及具有管理权限的用户的定义(完整 DN 和密码)。然后,该脚本将在 LDAP 服务器中创建引导服务并在其中存储映射文件。它可以作为任何用户执行,调用方法为:
./createServiceTree
然后提示用户提供:
主机名(缺省值:localhost):LDAP 服务器的主机名,
端口号(缺省值:389):LDAP 服务器的端口号,
基本 DN:LDAP 系统信息库的基本 DN,
用户 DN(缺省值:cn=Directory Manager):具有足够的权限在基本 DN 下建立新条目的用户的完整 DN,
密码:该用户的密码,
创建具有以下 DN 的条目:
ou=ApocRegistry,ou=default,ou=OrganizationConfig,ou=1.0,ou=ApocService,ou=services, <baseDN>
并用两个映射文件的内容填充该条目。
如前文所述,deployApoc 脚本执行的操作假定 LDAP 服务器的安装目录、布局和模式扩展步骤与 Sun Java System Directory Server 的非常相似。对于其他目录,则需要手动扩展模式,然后才能运行 createServiceTree 脚本。有关使用 OpenLDAP 和 ActiveDirectory 的详细信息,请参见附录 C,在 Configuration Manager 中使用 OpenLDAP 和 Active Directory”。
已创建的树(与用来保存与实体关联的配置数据的树匹配)与 Sun Java System Identity Server 中的服务管理所使用的树的结构保持一致。