Ldapsearch 命令可根据用户定义的查询条件,对GBase 8d 数据库目录树进行查找以及检索目录树相关条目。后期维护服务器,会经常用到此命令获取详细信息。
同样可以通过过滤条件,定位符合条件的条目。也可以通过指定条目的属性查询或模糊的条件,例如,uid,ou,或者objectClass 等都可以进行匹配。
语法:ldapsearch [参数] <过滤条件>
Ldapsearch [-n] [-u] [-v] [-k] [-K] [-t] [-A] [-C] [-L[L[L]]] [-M[M]] [-D binddn] [-W] [-w bindpasswd] [-H ldapuri] [-h ldaphost] [-p ldapport] [-P 2|3] [-b searchbase] [-s base|one|sub] [-a never|always|search|find] [-l timelimit] [-z sizelimit] filter [attrs...]
下面介绍GBase 8d 数据库的ldapsearch 常用参数:
-b <searchbase>: 用于指定查找的节点。
-D<binddn>:用于指定查找的DN,DN是整个OpenLDAP树的识别名称,类似于系统中根的概念。
-v: 用于详细输出信息。运行在详细模块.在标准输出中打出一些比较详细的信息.比如:连接到服务器的 ip 地址和端口号,过滤器等.
-x: 使用简单的认证,不适用任何加密算法,例如,TLS,SASL等相关加密算法。
-W:在查询时,会提示输入密码,如果不想输入密码,使用-w password 即可。
-h:使用指定的ldaphost,可以使用FQDN 或GBase 8d服务器的IP即可。(ip 地址和端口号,常见格式为 ldap://hostname:port).如果使用了-H 就不能使用-h 和-p 参数.
-H(LDAP-URI):使用GBase 8d服务器的URI地址进行操作。
-A :只输出属性名称,不输出属性值。
-p ldapport 指定要连接目录服务器的端口号.它和-h 一起使用.(默认端口389)
注意:如果使用了-h 和-p 参数就不能使用-H 参数。
-s 指定搜索的范围.可能值 为 base、one、sub。
-a never|always|search|find 指定对于别名的处理。 值可能为never|always|search|find.含义如下:never 从来不解析别名;always总是解析别名;search 搜索时解析别名;find 查找时解析别名。
-P 2|3 指定使用的 ldap 协议版本。
-l timeout 指定客户端的超时限制.单位秒。
-z sizelimit 指定大返回的条目个数。
-L 搜索结果以 ldif 格式方式显示.个 L 表示以 ldifv1 显示.第二个 L 关闭注释,第三个 L 关闭打印 ldif 版本。
示例:
匿名连接位于 192.168.10.3 机器上的端口为 389 的目录服务器,使用简单认证,查找范围为sub,基点为 o=gbase.cn 下的所有条目.命令行参数可以照如下方式书写:
ldapsearch -LLL -x -H ldap://192.168.10.3:389 -b "c=cn" -s sub "objectclass=*"
其中,参数含义如下所示:
-LLL:禁止输出与查找范围不匹配的信息。
-x:简单认证模式,不使用默认的SASL认证方法。
-H:指定数据库对应的iP和端口。
-b:指定查找的basedn。
-s:指定本次要搜索的属性对应的值。