ldapsearch 參数表


下表描写叙述能够用于 ldapsearch 的区分大写和小写的參数。

參数
用途
-? 打印关于使用 ldapsearch 的帮助。
-a deref 指定别名反向引用。请输入 never、always、search 或 find。假设不使用此參数,缺省为 never。
-A 仅仅检索属性的名称,而不检索属性的值。
-b base dn 指定用作搜索起始点的专有名称。使用引號来指定该值,比如:"ou=West,o=Acme,c=US"

假设要搜索的server须要指定搜索起点,则必须使用此參数。否则此參数是可选的。

也能够同一时候使用 -b 和 -s 来确定搜索范围。没有 –s,-b 就会搜索指定为起始点的项以及该项的全部子项。

-B 同意打印非 ASCII 值
-D bind dn 指定server用于验证您的专有名称。名称必须与文件夹中的项相符,而且必须拥有搜索文件夹所需的权限。

请使用引號来指定该名称,比如:"cn=Directory Manager,o=Acme,c=US"

假设不使用此參数,则与server的连接是匿名的。假设server不同意匿名连接,则必须使用 -D。

除了 -D,还必须使用 -w 參数来指定与专有名称相关联的口令。

-f file 指定包括要使用的搜索过滤器的文件,如 -f 过滤器。请将每一个搜索过滤器置于单独的一行。Ldapsearch 会对每一行运行一次搜索。可选择指定过滤模式。比如,指定 -f 过滤 "cn=%s",并在文件的每一行中输入公用名称的值。
-F sep 在属性名称和值之间打印 sep 而不是等号 (=)。比如,假设读取 ldapsearch 输出的工具希望使用其它的分隔符时,能够使用此參数。
-h host name 指定要连接的服务器主机名,如 -h server.acme.com。
-l timelimit 指定完毕搜索的时间限制(秒)。假设没有指定此參数或指定的限制为 0,那么搜索就没有时间限制。可是,ldapsearch 的等待时间决不会超过server上设置的搜索时间限制。
-L 指定以 LDIF 格式输出。LDIF 格式使用冒号 (:) 而不是等号 (=) 作为属性描写叙述符。LDIF 对一次性加入或改动大量文件夹项非常有帮助。比如,能够将输出内容引入兼容 LDAP 的文件夹中。
-M 将參考对象作为普通项进行管理,以使 ldapsearch 可返回參考项本身的属性,而不是所參考的项的属性。
-n 显示怎样运行搜索,但不实际运行搜索
-p port 指定server使用的port。假设没有使用此參数,缺省情况下 ldapsearch 使用 389 port。
-R 不自己主动遵循server返回的搜索引用。请注意,Netscape 文件夹server将术语 referrals 用于搜索引用。
-s scope 指定使用 -b 參数时的搜索范围:

  • base -- 仅搜索 -b 參数指定的项
  • onelevel -- 仅搜索 -b 參数指定项的直接子项,而不搜索该项本身
  • subtree -- 搜索 -b 參数指定的项以及它的全部子项。这是不带 -s 时使用 -b 的缺省行为。

指定 -b 和 -s 的顺序并不重要。

-S attribute 按指定的属性排序结果。
-z sizelimit 指定返回项的最大数目。假设没有指定此參数或指定的限制为 0,那么返回的项没有数量限制。可是,ldapsearch 返回的项决不会多于server同意的数量。
-u 指定 ldapsearch 以用户友好格式返回专有名称。
-v 指定 ldapsearch 以详尽模式执行。
-w password 指定与 -D 參数一起使用的与专有名称关联的口令。
x 与 -S 一起使用时可指定 LDAP server在将结果返回之前就对它们进行排序。假设使用 -S 而不使用 –x,ldapsearch 将对结果排序。

ldapsearch 搜索过滤器中使用的运算符表


下表描写叙述了能够在搜索过滤器中使用的运算符。

运算符
用途
例子
= 查找所包括的属性值与指定值同样的项 "cn=John Browning"
= <string>*<string> 查找所包括的属性值与指定的子字符串同样的项 "cn=John*"

"cn=J*Brown"

>= 查找特定项,该项中包括的属性的数字或字母值大于或等于指定的值。 "cn>=D"
<= 查找特定项,该项中包括的属性的数字或字母值小于或等于指定的值。 "roomNumber<=300"
=* 查找包括特定属性的值的项,而不用管属性的值是什么。 "sn=*"
~= 查找特定项,该项中所含属性的值约等于指定的值。 "sn~=Brning" 可能返回 sn=Browning
& 查找与全部搜索过滤器中指定的条件相匹配的项 "(&(cn=John Browning)(l=Dallas))"
| 查找与至少一个搜索过滤器中指定的条件相匹配的项 "(|(cn=John Browning)(l=Dallas))"
! 查找与不论什么搜索过滤器中指定的条件都不匹配的项 "(!(cn=John Browning)(l=Dallas))"

使用 ldapsearch 的搜索过滤器


必须使用搜索过滤器指定要搜索的属性。搜索过滤器的语法为:

    "<attribute> <operator> <value>"

比如,以下的搜索过滤器能够找到全部的特定项,仅仅要该项中以 Smith 作为 sn(别称)属性的值:

    "sn=Smith"

能够在搜索过滤器中指定存储在文件夹中的随意属性。下面是用来搜索个人项的公用属性:

  • cn -- 个人的公用名称
  • sn -- 个人的姓
  • telephonenumber -- 个人的电话号码
  • l -- 个人的地理位置

能够在 ldapsearch 命令行中指定搜索过滤器,或在文件里指定它们,并使用 lsearch 參数 -f 引用此文件。假设使用文件,请在单独的行中指定每一个搜索过滤器。

请注意:假设 LDAP 文件夹(如 Domino LDAP 文件夹)支持语言标记,则可在搜索过滤器中包括它们。比如:

    "givenName;lang-fr=Etienne"

使用布尔运算符的多个搜索过滤器

您能够使用多个搜索过滤器以及布尔运算符。使用下列语法:

    "(operator(filter)(filter))"

比如,使用以下的搜索过滤器查找别称为 Browning、位置为 Dallas 的项。

    "(&(sn=Browning)(l=Dallas))"

布尔运算符能够嵌套。比如,使用以下的搜索过滤器在邮件网络域 MDN 中查找 surname 为 caneel 或 givenname 为 alfred 的项:

    "(&(maildomain=MDN)(|(sn=caneel)(givenname=alfred)))"


使用 ldapsearch 的例子


下表提供使用 ldapsearch 有用程序的例子。

搜索
命令
使用port 389 的主机 ldap.acme.com 上的全部项,并返回全部属性和值 ldapsearch -h ldap.acme.com "objectClass=*"
同上,但仅返回属性名称 ldapsearch -A -h ldap.acme.com" objectClass=*"
使用port 389 的主机 ldap.acme.com 上的全部项,而且反向引用找到的全部别名 ldapsearch -a always -h ldap.acme.com "objectClass=*"
使用port 389 的主机 ldap.acme.com 上的全部项,并返回 mail、cn、sn 和 givenname 等属性 ldapsearch -h ldap.acme.com "objectClass=*" mail cn sn givenname
在使用port 389 的主机 ldap.acme.com 上,在 ”ou=West,o=Acme,c=US” 基准下搜索 (cn=Mike*),并返回全部属性和值 ldapsearch -b "ou=West,o=Acme,c=US" -h ldap.acme.com "(cn=Mike*)"
使用port 389 的主机 ldap.acme.com 上的一个级别,并返回全部属性和值 ldapsearch -s onelevel -h ldap.acme.com "objectClass=*"
同上,但限制基准的范围 ldapsearch -s base -h ldap.acme.com "objectClass=*"
使用port 389 的主机 ldap.acme.com 上的全部项,并返回全部的属性和值;搜索时间限制为五秒 ldapsearch -l 5 -h ldap.acme.com "objectClass=*"
使用port 389 的主机 ldap.acme.com 上的全部项,并返回全部的属性和值;限制大小为五 ldapsearch -z 5 -h ldap.acme.com "objectClass=*"
使用port 389 的主机 ldap.acme.com 上的全部项,捆绑为:用户“cn=John Doe,o=Acme”,口令“password”,并以 LDIF 格式返回全部的属性和值 ldapsearch -h ldap.acme.com -D "cn=john doe,o=acme" -w password -L "objectClass=*"
使用port 389 的主机 ldap.acme.com。对“cn=John Doe,o=Acme”项,返回其同意匿名查看的全部属性 ldapsearch -h ldap.acme.com" -s base -b "cn=john doe,o=acme" objectClass=*"
配置为在port 391 上侦听 LDAP 请求的还有一台主机 bluepages.ibm.com 上的全部项 ldapsearch -h bluepages.ibm.com -p 391 "objectClass=*"
port 391 上的
bluepages.ibm.com。对还有与 OR
过滤器中随意一个属性相匹配的属性的不论什么“个人”对象类型进行子树搜索(缺省),从组织“o=ibm”開始。超时值为 300 秒,返回的最大项数设为
1000。且仅返回 DN(缺省)和 CN(这是 Web 应用程序的公用过滤器)。
ldapsearch
-h bluepages.ibm.com -p 391 -b "o=ibm" -l 300 -z 1000
"(&(objectclass=Person)(|(cn=jerry seinfeld*)(givenname=jerry
seinfeld*)(sn=jerry seinfeld*)(mail=jerry seinfeld*)))" cn
port 391 上的 bluepages.ibm.com。以基准项“cn=HR Group,ou=Asia,o=IBM”为起始,时间限制为 300 秒,查询此项的全部成员。(Web 应用程序中用以确定群组成员的还有一个公用过滤器)。 ldapsearch -h bluepages.ibm.com -p 391 -b "cn=HR Group,ou=Asia,o=IBM" -s base -l 300 "(objectclass=*)" member

openldap---ldapsearch使用的更多相关文章

  1. Centos6 yum安装openldap+phpldapadmin+TLS+双主配置

    原文地址:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%8 ...

  2. Minimum configuration for openldap to proxy multiple AD into a single search base

    [root@localhost ~]# cd /etc/openldap[root@localhost openldap]# cat slapd.confloglevel 0x900include / ...

  3. openldap+phpadmin的搭建安装

    1.概念介绍 LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据 ...

  4. CentOS6下OpenLDAP+PhpLdapAdmin基本安装及主从/主主高可用模式部署记录

    下面测试的部署机ip地址为:192.168.10.2051)yum安装OpenLDAP [root@openldap-server ~]# yum install openldap openldap- ...

  5. OpenLDAP介绍和安装

    LADP 1.目录服务 目录是一个为查询.浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好象Linux/Unix系统中的文件目录一样.目录数据库和关系数据库不同,它有优异的读性能,但写性 ...

  6. 红帽学习笔记[RHCE]OpenLDAP 服务端与客户端配置

    目录 OpenLDAP 服务端与客户端配置 关于LDIF 一个LDIF基本结构一个条目 属性 Object的类型 服务端 安装 生成证书 生成默认数据 修改基本的配置 导入基础数据 关于ldif的格式 ...

  7. LDAP目录服务

    LDAP目录服务 1.ldap目录服务介绍: 目录是一类为了浏览和搜索数据而设计的特殊的数据库,目录服务是按树状形式存储信息的,目录包含基于属性的描述信息,并且支持高级的过滤功能,一般来说,目录不支持 ...

  8. LDAP学习笔记总结

    一.LDAP概念LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根 ...

  9. ldap安装配置过程中遇到的错误,以及解决方法

    错误1: [root@openldap openldap]# ldapsearch -LLL-W -x -H ldap://etiantian.org -D "cn=admin,dc=eti ...

  10. PostgreSQL 使用 LDAP 认证方式

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL杂记页     回到顶级页面:PostgreSQL索引页 [作者 高健@博客园  luckyjackgao@gmail. ...

随机推荐

  1. 如何解决DE0-Nano的EPCS16 无法下载的问题:NO EPCS LAYOUT DATA --- LOOKING FOR SECTION [EPCS-XXXXXX]

    在用NIOS的flashprogram对EPCSx进行烧录程序时,出现了No EPCS layout data --- looking for section [EPCS-XXXXXX]的错误,在网上 ...

  2. Linux下的压缩和解压

    1. gzip, bzip2 能否直接压缩目录呢?不可以 2. 请快速写出,使用gzip和bzip2压缩和解压一个文件的命令.压缩:gzip 1.txt bzip2 1.txt解压:gzip -d 1 ...

  3. vs2012快捷键失效解决办法

    快速解决vs开发工具快捷键失效,看图

  4. (转) 值不能为空。参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explorer)

    打开MSSQL 2008 R2的时候,展开数据库都显示以下的错误提示: 值不能为空.参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explo ...

  5. respondsToSelector的使用

    - (BOOL)respondsToSelector:(SEL)aSelector; 用来判断是否有以某个名字命名的方法 +(BOOL) instancesRespondToSelector: sel ...

  6. javascript判断键盘按键

    window.document.onkeydown = disableRefresh; function disableRefresh(evt){ evt = (evt) ? evt : window ...

  7. bootstrap小结

    bootstrap总结 bootstrap总结 base css 我分为了几大类 1,列表 .unstyled(无样式列表),.dl-horizontal(dl列表水平排列) 2,代码 code(行级 ...

  8. POJ - 2653 - Pick-up sticks 线段与线段相交

    判断线段与线段相交 莫名其妙的数据量 #include <iostream> #include <cstdio> #include <vector> #includ ...

  9. hdu4006 优先队列

    A - 签到 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:65768KB     64bit I ...

  10. Jquery去除从数据库中查询到的内容含有的p标签

    $("#topic_content").html($("#topic_content").text()); 如果这个数据是通过循环遍历出的数据,就需要下面这个代 ...