使用 Oracle® Solaris 11.2 目录和命名服务:LDAP

退出打印视图

更新时间: 2014 年 7 月
 
 

SSD 说明

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 中执行单级搜索。为了查找某个用户的 usernamepasswd 数据,将针对每个 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 中执行子树搜索。为了查找用户 usernamepasswd 数据,将使用 LDAP 过滤器 (&(fulltimeEmployee=TRUE)(uid=username)) 来搜索子树 ou=west,dc=example,dc=com

serviceSearchDescriptor: passwd:ou=west,dc=example,
dc=com?sub?fulltimeEmployee=TRUE

还可以将多个容器与一个特定的服务类型相关联。在以下示例中,服务搜索描述符指定在三个容器中搜索口令条目。

ou=myuser,dc=example,dc=com
ou=newuser,dc=example,dc=com
ou=extuser,dc=example,dc=com

请注意,在下面的示例中,SSD 中的结尾 ',' 表示 defaultSearchBase 将附加到相对基容器之后。

defaultSearchBase: dc=example,dc=com
serviceSearchDescriptor: \
passwd:ou=myuser,;ou=newuser,;ou=extuser,dc=example,dc=com

attributeMap 属性

LDAP 命名服务允许为其任何服务重新映射一个或多个属性名称。如果您映射某个属性,必须确保该属性与初始属性具有相同的含义和语法。请注意,映射 userPassword 属性可能会引起问题。

您可能会发现想要在现有目录服务器中映射属性的情况下,使用架构映射十分有用。如果您的用户名只存在大小写差异,则必须将忽略大小写的 uid 属性映射到不忽略大小写的属性。

此属性的格式为 service:attribute-name=mapped-attribute-name

如果要为给定服务映射多个属性,则可以定义多个 attributeMap 属性。

在以下示例中,只要将 uidhomeDirectory 属性用于 passwd 服务时,便会使用 employeeNamehome 属性。

attributeMap: passwd:uid=employeeName
attributeMap: passwd:homeDirectory=home

请注意,您可以将 passwd 服务的 gecos 属性映射到多个属性,如以下示例所示:

attributeMap: gecos=cn sn title

以上示例将 gecos 值映射到一个以空格分隔的包含 cnsntitle 属性值的列表。

objectclassMap 属性

LDAP 命名服务允许为其任何服务重新映射对象类。如果要为给定服务映射多个对象类,则可以定义多个 objectclassMap 属性。在以下示例中,只要使用 posixAccount 对象类,便会使用 myUnixAccount 对象类:

objectclassMap: passwd:posixAccount=myUnixAccount