服务 搜索描述符 (service search descriptor, SSD) 会将 LDAP 中给定操作的缺省搜索请求更改为您定义的搜索。 例如,如果一直在使用具有自定义容器定义的 LDAP 或其他操作系统,而且现在要转为使用最新的 Solaris 发行版,则 SSD 特别有用。使用 SSD,可以在不必更改现有 LDAP 数据库和数据的情况下配置 Solaris LDAP 名称服务。
在 Example, Inc. 中,假设前任管理员已经配置了 LDAP,并将用户存储在 ou=Users 容器中。现在要升级到最新的 Solaris 发行版。按照定义,Solaris LDAP 客户机假设用户项存储在 ou=People 容器中。因此,当开始搜索 passwd 服务时,LDAP 客户机将搜索 DIT ou=people 层,因而不会找到正确的值。
对于上述问题,一个比较麻烦的解决方案就是完全覆写 Example, Inc. 现有的 DIT,并重写 Example, Inc. 网络上现有的所有应用程序,以便它们与新的 LDAP 名称服务兼容。另外一种更可取的解决方案就是,使用 SSD 来通知 LDAP 客户机在 ou=Users 容器(而不是缺省的 ou=people 容器)中查找用户信息。
在使用 idsconfig 配置 Sun Java System Directory Server 的过程中将需要定义必要的 SSD。提示行如下所示:
Do you wish to setup Service Search Descriptors (y/n/h? y A Add a Service Search Descriptor D Delete a SSD M Modify a SSD P Display all SSD's H Help X Clear all SSD's Q Exit menu Enter menu choice: [Quit] a Enter the service id: passwd Enter the base: service ou=user,dc=west,dc=example,dc=com Enter the scope: one[default] A Add a Service Search Descriptor D Delete a SSD M Modify a SSD P Display all SSD's H Help X Clear all SSD's Q Exit menu Enter menu choice: [Quit] p Current Service Search Descriptors: ================================== Passwd:ou=Users,ou=west,ou=example,ou=com? Hit return to continue. A Add a Service Search Descriptor D Delete a SSD M Modify a SSD P Display all SSD's H Help X Clear all SSD's Q Exit menu Enter menu choice: [Quit] q |