跳过导航链接 | |
退出打印视图 | |
系统管理指南:命名和目录服务(DNS、NIS 和 LDAP) Oracle Solaris 10 8/11 Information Library (简体中文) |
4. 网络信息服务 (Network Information Service, NIS)(概述)
LDAP 数据交换格式 (LDAP Data Interchange Format, LDIF)
缺省目录信息树 (Directory Information Tree, DIT)
传输层安全性 (Transport Layer Security, TLS)
11. 为使用 LDAP 客户机设置 Sun Java System Directory Server(任务)
注 - 如果您使用架构映射,请务必谨慎并采用一致的方式。应确保被映射的属性的语法与其映射到的属性的语法一致。换言之,应确保单值属性映射到单值属性,属性的语法保持一致,并且被映射的对象类应该具有正确的强制性属性(可能是映射的属性)。
如上所述,缺省情况下,LDAP 命名服务要求 DIT 以确定方式进行构造。如果需要,您可以指示 Solaris LDAP 命名服务在 DIT 中的非缺省位置进行搜索。另外,您可以指定使用不同的属性和对象类替代缺省架构所指定的属性和对象类。有关缺省过滤器的列表,请参见LDAP 命名服务使用的缺省过滤器。
serviceSearchDescriptor 属性定义 LDAP 命名服务客户机应如何以及应在何处搜索特定服务的信息。serviceSearchDescriptor 包含一个服务名称,其后跟一个或多个用分号分隔的 base-scope-filter(基-范围-过滤器)三元参数。使用这些 base-scope-filter(基-范围-过滤器)三元参数,可以定义仅搜索特定服务并按顺序进行搜索。如果为某个给定服务指定了多个 base-scope-filter(基-范围-过滤器),则该服务在查找特定条目时,将使用指定的范围和过滤器在每个基容器中进行搜索。
注 - 使用 SSD 时,不会在缺省位置中搜索服务(数据库),除非该 SSD 中包括缺省位置。如果为某个服务指定了多个 SSD,将会产生不可预测的行为。
在以下示例中,Solaris LDAP 命名服务客户机会依次在 ou=west,dc=example,dc=com 和 ou=east,dc=example,dc=com 中执行单级搜索,以查找 passwd 服务。为了查找用户的 username 的 passwd 数据,将为每个 BaseDN 使用缺省的 LDAP 过滤器 (&(objectClass=posixAccount)(uid=username))。
serviceSearchDescriptor: passwd:ou=west,dc=example,dc=com;ou=east, dc=example,dc=com
在以下示例中,Solaris LDAP 命名服务客户机将在 ou=west,dc=example,dc=com 中执行子树搜索以查找 passwd 服务。为了查找用户 username 的 passwd 数据,将使用 LDAP 过滤器 (&(fulltimeEmployee=TRUE)(uid=username)) 搜索 ou=west,dc=example,dc=com 子树。
serviceSearchDescriptor: passwd:ou=west,dc=example, dc=com?sub?fulltimeEmployee=TRUE
还可以将多个容器与一个特定的服务类型相关联。在以下示例中,服务搜索描述符指定在三个容器中搜索口令条目。
|
请注意,在下面的示例中,SSD 中的结尾 ',' 表示 defaultSearchBase 将附加到相对基容器之后。
defaultSearchBase: dc=example,dc=com serviceSearchDescriptor: \ passwd:ou=myuser,;ou=newuser,;ou=extuser,dc=example,dc=com
使用 Solaris LDAP 命名服务时,可以重新映射其任何服务的一个或多个属性名。(Solaris LDAP 客户机使用第 14 章中列出的已知属性。)如果您映射某个属性,必须确保该属性与初始属性具有相同的含义和语法。请注意,映射 userPassword 属性可能会产生问题。
出于多种原因,您可能需要使用架构映射。
希望映射现有目录服务器中的属性
如果您的用户名只存在大小写差异,则必须将忽略大小写的 uid 属性映射到不忽略大小写的属性。
此属性的格式为 service:attribute-name=mapped-attribute-name。
如果要为给定服务映射多个属性,则可以定义多个 attributeMap 属性。
在以下示例中,只要将 uid 和 homeDirectory 属性用于 passwd 服务时,便会使用 employeeName 和 home 属性。
attributeMap: passwd:uid=employeeName attributeMap: passwd:homeDirectory=home
但也存在可以将 passwd 服务的 gecos 属性映射到多个属性的特殊情况。下面是一个示例:
attributemap: gecos=cn sn title
以上示例将 gecos 值映射到一个以空格分隔的包含 cn、sn 和 title 属性值的列表。
使用 Solaris LDAP 命名服务时,可以重新映射其任何服务的对象类。如果要为给定服务映射多个对象类,则可以定义多个 objectclassMap 属性。在以下示例中,只要使用 posixAccount 对象类时,便会使用 myUnixAccount 对象类。
objectclassMap: passwd:posixAccount=myUnixAccount