跳过导航链接 | |
退出打印视图 | |
![]() |
在 Oracle Solaris 11.1 中使用命名和目录服务 Oracle Solaris 11.1 Information Library (简体中文) |
4. 设置 Oracle Solaris Active Directory 客户机(任务)
11. 为使用 LDAP 客户机设置 Oracle Directory Server Enterprise Edition(任务)
注 - 如果您使用架构映射,请务必谨慎并采用一致的方式。应确保被映射的属性的语法与其映射到的属性的语法一致。换言之,应确保单值属性映射到单值属性,属性的语法保持一致,并且被映射的对象类应该具有正确的强制性属性(可能是映射的属性)。
如上所述,缺省情况下,LDAP 命名服务要求 DIT 以某种特定方式进行构造。如果需要,您可以通过使用服务搜索描述符 (service search descriptor, SSD) 指示 LDAP 命名服务在 DIT 中的其他位置而不是缺省位置进行搜索。另外,您可以指定使用不同的属性和对象类替代缺省架构所指定的属性和对象类。有关缺省过滤器的列表,请参见LDAP 命名服务使用的缺省过滤器。
serviceSearchDescriptor 属性定义 LDAP 命名服务客户机如何以及在何处搜索特定服务的信息。serviceSearchDescriptor 包含一个服务名称,其后跟一个或多个以分号分隔的 base-scope-filter(基-范围-过滤器)三元参数。使用这些 base-scope-filter(基-范围-过滤器)三元参数,可以定义仅搜索特定服务并按顺序进行搜索。如果为某个给定服务指定了多个 base-scope-filter(基-范围-过滤器),则该服务在查找特定条目时,将使用指定的范围和过滤器在每个基容器中进行搜索。
注 - 使用 SSD 时,不会在缺省位置中搜索服务(数据库),除非该 SSD 中包括缺省位置。如果为某个服务指定了多个 SSD,将会产生不可预测的行为。
在下面的示例中,LDAP 命名服务客户机针对 passwd 服务在 ou=west,dc=example,dc=com 中执行一级搜索,然后在 ou=east,dc=example,dc=com 中执行一级搜索。为了查找某个用户的 username 的 passwd 数据,将针对每个 BaseDN 使用缺省的 LDAP 过滤器 (&(objectClass=posixAccount)(uid=username))。
serviceSearchDescriptor: passwd:ou=west,dc=example,dc=com;ou=east, dc=example,dc=com
在下面的示例中,LDAP 命名服务客户机将针对 passwd 服务在 ou=west,dc=example,dc=com 中执行子树搜索。为了查找用户 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
LDAP 命名服务允许为其任何服务重新映射一个或多个属性名称。(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 属性值的列表。
LDAP 命名服务允许为其任何服务重新映射对象类。如果要为给定服务映射多个对象类,则可以定义多个 objectclassMap 属性。在以下示例中,只要使用 posixAccount 对象类时,便会使用 myUnixAccount 对象类。
objectclassMap: passwd:posixAccount=myUnixAccount