附录 A. 使用 LDAP 客户端工具
Red Hat Directory Server 使用 OpenLDAP 提供的 LDAP 工具(如 ldapsearch 和 ldapmodify)。OpenLDAP 工具选项在 OpenLDAP man page http://www.openldap.org/software/man.cgi 中进行了描述。
本附录提供了一些常见的使用场景和使用这些 LDAP 工具的示例。
A.1. 运行扩展操作
Red Hat Directory Server 支持各种扩展操作,特别是扩展搜索操作。扩展操作会传递额外的操作(如 get valid rights search 或 server-side sort),以及 LDAP 操作。同样,LDAP 客户端可以支持多种扩展操作。
OpenLDAP LDAP 工具以两种方式支持扩展操作。所有客户端工具(ldapmodify,ldapsearch 及其他)都使用
-e
或 -E
选项来发送扩展操作。-e
参数可用于任何 OpenLDAP 客户端工具,并发送有关操作的常规指令,如如何处理密码策略。-E
仅用于 ldapsearches,并传递更有用的控制,如 GER 搜索、排序和页面信息,以及其他非支持扩展操作的信息。
另外,OpenSSH 具有另一个工具 ldapexop,它专门用于执行扩展搜索操作,这与运行 ldapsearch -E 相同。
使用 ldapsearch 的扩展操作格式通常是:
-E extended_operation_type=operation_parameters
当 OpenLDAP 工具明确处理扩展操作时,extend _operation_type 可以是别名,如 deref 用于解引用搜索,或者 sss 用于服务器端排序。支持的扩展操作已格式化输出。其他扩展操作(如 GER 搜索)会使用其 OID 而不是别名传递,然后 extended_operation_type 是 OID。对于不支持的操作,工具无法识别服务器的响应,因此输出不会被格式化。
例如,pg 扩展操作类型会格式化结果:
# ldapsearch -x -D "cn=Directory Manager" -W -b "ou=Engineers,ou=People,dc=example,dc=com" -E pg=3 "(objectclass=*)" cn dn: uid=jsmith,ou=Engineers,ou=People,dc=example,dc=com cn: John Smith dn: uid=bjensen,ou=Engineers,ou=People,dc=example,dc=com cn: Barbara Jensen dn: uid=hmartin,ou=Engineers,ou=People,dc=example,dc=com cn: Henry Martin Results are sorted. next page size (3): 5
与 ldapexop 相同的操作只能使用简单页面结果操作的 OID 运行,以及操作的设置(每个页面的3 结果):
ldapexop 1.2.840.113556.1.4.319=3
但是 ldapexop 不接受 ldapsearch 相同的搜索参数范围,使其更灵活。