`

Ldap ldapsearch

 
阅读更多
ldapsearch 参数表 
下表描述可以用于 ldapsearch 的区分大小写的参数。
参数 用途
-? 打印关于使用 ldapsearch 的帮助。
-a deref 指定别名反向引用。请输入 never、always、search 或 find。如果不使用此参数,缺省为 never。
-A 只检索属性的名称,而不检索属性的值。
-b base dn 指定用作搜索起始点的专有名称。使用引号来指定该值,例如:"ou=West,o=Acme,c=US"

如果要搜索的服务器需要指定搜索起点,则必须使用此参数。否则此参数是可选的。

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

-B 允许打印非 ASCII 值
-D bind dn 指定服务器用于验证您的专有名称。名称必须与目录中的项相符,并且必须拥有搜索目录所需的权限。

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

如果不使用此参数,则与服务器的连接是匿名的。如果服务器不允许匿名连接,则必须使用 -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 的等待时间决不会超过服务器上设置的搜索时间限制。
-L 指定以 LDIF 格式输出。LDIF 格式使用冒号 (:) 而不是等号 (=) 作为属性描述符。LDIF 对一次性添加或修改大量目录项很有帮助。例如,可以将输出内容引入兼容 LDAP 的目录中。
-M 将参考对象作为普通项进行管理,以使 ldapsearch 可返回参考项本身的属性,而不是所参考的项的属性。
-n 显示如何执行搜索,但不实际执行搜索
-p port 指定服务器使用的端口。如果没有使用此参数,缺省情况下 ldapsearch 使用 389 端口。
-R 不自动遵循服务器返回的搜索引用。请注意,Netscape 目录服务器将术语 referrals 用于搜索引用。
-s scope 指定使用 -b 参数时的搜索范围:
  • base -- 仅搜索 -b 参数指定的项
  • onelevel -- 仅搜索 -b 参数指定项的直接子项,而不搜索该项本身
  • subtree -- 搜索 -b 参数指定的项以及它的所有子项。这是不带 -s 时使用 -b 的缺省行为。
指定 -b 和 -s 的顺序并不重要。
-S attribute 按指定的属性排序结果。
-z sizelimit 指定返回项的最大数目。如果没有指定此参数或指定的限制为 0,那么返回的项没有数量限制。但是,ldapsearch 返回的项决不会多于服务器允许的数量。
-u 指定 ldapsearch 以用户友好格式返回专有名称。
-v 指定 ldapsearch 以详尽模式运行。
-w password 指定与 -D 参数一起使用的与专有名称关联的口令。
x 与 -S 一起使用时可指定 LDAP 服务器在将结果返回之前就对它们进行排序。如果使用 -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 实用程序的样例。
搜索 命令
使用端口 389 的主机 ldap.acme.com 上的所有项,并返回所有属性和值 ldapsearch -h ldap.acme.com "objectClass=*"
同上,但仅返回属性名称 ldapsearch -A -h ldap.acme.com" objectClass=*"
使用端口 389 的主机 ldap.acme.com 上的所有项,并且反向引用找到的所有别名 ldapsearch -a always -h ldap.acme.com "objectClass=*"
使用端口 389 的主机 ldap.acme.com 上的所有项,并返回 mail、cn、sn 和 givenname 等属性 ldapsearch -h ldap.acme.com "objectClass=*" mail cn sn givenname
在使用端口 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*)"
使用端口 389 的主机 ldap.acme.com 上的一个级别,并返回所有属性和值 ldapsearch -s onelevel -h ldap.acme.com "objectClass=*"
同上,但限制基准的范围 ldapsearch -s base -h ldap.acme.com "objectClass=*"
使用端口 389 的主机 ldap.acme.com 上的所有项,并返回所有的属性和值;搜索时间限制为五秒 ldapsearch -l 5 -h ldap.acme.com "objectClass=*"
使用端口 389 的主机 ldap.acme.com 上的所有项,并返回所有的属性和值;大小限制为五 ldapsearch -z 5 -h ldap.acme.com "objectClass=*"
使用端口 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=*"
使用端口 389 的主机 ldap.acme.com。对“cn=John Doe,o=Acme”项,返回其允许匿名查看的所有属性 ldapsearch -h ldap.acme.com" -s base -b "cn=john doe,o=acme" objectClass=*"
配置为在端口 391 上侦听 LDAP 请求的另一台主机 bluepages.ibm.com 上的所有项 ldapsearch -h bluepages.ibm.com -p 391 "objectClass=*"
端口 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
端口 391 上的 bluepages.ibm.com。以基准项“cn=HR Group,ou=Asia,o=IBM”为起始,时间限制为 300 秒,查询此项的所有成员。(Web 应用程序中用以确定群组成员的另一个公用过滤器)。

参考至:http://sun-snowfox.blog.sohu.com/115337633.html
如有错误,欢迎指正
邮箱:czmcj@163.com

分享到:
评论

相关推荐

    C#.NET LDAPSearch

    标题"C#.NET LDAPSearch"揭示了我们正在讨论的是一个基于C#.NET开发的Windows桌面应用程序,专注于LDAP(轻量级目录访问协议)搜索功能。在Winform环境下,开发者创建了一个用户界面,允许用户查询和浏览LDAP目录...

    LDAP入門LDAP入門LDAP入門

    - **ldapsearch**:用于执行LDAP查询。 - **ldapadd**:用于向LDAP目录中添加新条目。 - **ldapmodify**:用于修改现有条目。 - **ldappasswd**:用于更改用户的密码。 ### 参考书目 - 《LDAP System ...

    Ldap数据导出到文件

    通过使用ldapsearch命令,我们可以从特定的DN开始检索数据,并将其转换为LDIF格式。例如: ``` ldapsearch -x -LLL -H ldap://localhost -b "cn=your_node,dc=example,dc=com" -D "cn=admin,dc=example,dc=...

    ldap账号迁移流程

    1. **导出数据**:在旧服务器上使用`ldapsearch`命令导出所有LDAP数据。 ```bash ldapsearch -x -b "dc=abc,dc=com" &gt; export.ldif ``` 2. **导入数据**:将导出的数据文件传输至新服务器,并使用`ldapadd`命令...

    ldap的离线安装包及安装方法

    使用 `ldapsearch` 工具来验证 LDAP 服务器是否正常工作。例如,搜索 rootDN: ``` ldapsearch -x -LLL -h localhost -b "dc=example,dc=com" -D "cn=admin,dc=example,dc=com" -w yourpassword ``` 7. **创建...

    LDAP的概念和原理

    常用的 LDAP 客户端工具有 ldapadd、ldapsearch 等。 LDAP 的身份认证 LDAP 提供了三种身份认证机制:匿名认证、基本认证和 SASL 认证。基本认证通过用户名和密码进行身份识别,又分为简单密码和 MD5 密码认证。 ...

    phpLdap.rar

    $search_result = ldap_search($ldap_conn, $search_base, $search_filter); // 处理搜索结果 if ($search_result) { $entry = ldap_first_entry($ldap_conn, $search_result); while ($entry) { $attributes = ...

    debian下ldap服务器配置

    # ldapsearch -x -b '' -s base '(objectclass=*)' ``` 如果看到有相关信息输出,就说明 OpenLDAP 已经正常运行了。 步骤5:建立根 最后,需要建立根目录。使用以下命令: ``` # touch base.ldif ``` 并编辑 `base...

    java连接和验证ldap文档

    Java 连接和验证 LDAP 文档 Java 连接和验证 LDAP 文档是一份关于 Java 语言连接和验证 LDAP 服务器的学习文档。LDAP(Lightweight Directory Access Protocol)是一种目录访问协议,用于管理和访问目录服务中的...

    Solrj and Solr and LDAP and SearchEngine

    Solr能够处理大量数据,并支持多种类型的搜索,如全文检索、空间搜索、拼写检查和 faceted search(分面搜索)。Solrj就是用来与Solr服务器通信的工具,允许开发者通过Java代码来利用Solr的各种功能。 【LDAP】 ...

    IBM LDAP一些基础知识

    1. LDAP协议基础:解释LDAP的请求/响应模型,操作类型(如bind、search、modify)及其语法。 2. LDAP目录模型:介绍Distinguished Name (DN)、Relative Distinguished Name (RDN) 和Attribute Syntax等概念。 3. ...

    Linux系统下LDAP的实现

    6. 测试配置:通过LDAP客户端工具,如ldapsearch、ldapadd、ldapmodify等进行测试,确保LDAP服务器正常工作,并且客户端能够正确地进行身份验证和信息查询。 下面详细说明各个步骤所涉及的知识点: 1. 选择服务器...

    c操作ldap例子c操作ldap例

    - `ldap_search_s(ld, sdn, LDAP_SCOPE_SUBTREE, "(objectclass=*)")`:搜索整个子树(`LDAP_SCOPE_SUBTREE`)下满足`objectclass=*`条件的所有条目。 - 循环遍历每个搜索结果条目,并打印出DN以及所有属性值。 #####...

    spring-ldap1.3.1

    - 查询:使用`LdapTemplate`的`find`或`search`方法,配合过滤器(例如,基于用户名、属性值等)来检索目录中的条目。 - 添加:通过`LdapTemplate`的`bind`方法可以将新的LDAP条目添加到目录中。 - 更新:使用`...

    使用Python读取Ldap中的用户名

    ldap_result_id = conn.search(baseDN, searchScope, searchFilter, retrieveAttributes=None) result_set = [] data = '' while 1: result_type, result_data = conn.result(ldap_result_id, 0) if result_...

    Open_LDAP安装配置

    4. **启动与验证**:启动Open LDAP服务,如在Linux中使用`systemctl start slapd`,然后通过`ldapsearch`命令验证配置是否正确。 **四、Windows下的Open LDAP配置** 1. **环境变量**:设置`LDAP_HOME`指向Open ...

    LDAP 中文资料介绍

    8. **LDAP客户端工具**:如 `ldapsearch` 和 `ldapmodify`,这些命令行工具可以帮助管理员与 LDAP 服务器进行交互,进行查询和修改操作。 9. **访问控制和权限**:LDAP 支持访问控制指令(ACIs),用于定义谁可以...

    ldap openldap

    4. **ldap-utils**: 一系列命令行工具,如`ldapadd`, `ldapdelete`, `ldapsearch`等,用于管理和操作目录。 **OpenLDAP安装配置** 在Linux系统中,安装OpenLDAP通常涉及以下步骤: 1. **安装依赖**: 更新系统包...

    用sql语句的方式操作ldap

    **LDAP(Lightweight Directory Access Protocol)轻量级目录访问协议是一种用于存储和检索分布式目录信息的标准,常用于用户身份验证和授权。SQL(Structured Query Language)则是用于管理和处理关系数据库的强大...

Global site tag (gtag.js) - Google Analytics