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(别称)属性的值:
可以在搜索过滤器中指定存储在目录中的任意属性。以下是用来搜索个人项的公用属性:
-
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 应用程序中用以确定群组成员的另一个公用过滤器)。
|
ldapsearch -h bluepages.ibm.com -p 391 -b "cn=HR Group,ou=Asia,o=IBM" -s base -l 300 "(objectclass=*)" member
|
分享到:
相关推荐
2. **查找条目**:使用JNDI的`DirContext.search()`方法,我们可以根据特定的过滤器找到需要修改密码的条目。例如,我们可能需要搜索DN(Distinguished Name)与特定用户关联的条目。 3. **编码密码**:在修改密码...
在这个示例中,我们首先设置了一个环境属性表,其中包含了连接 LDAP 服务器所需的参数,如服务器URL、认证方式(简单认证)、绑定DN和密码。然后,使用这些属性创建`InitialLdapContext`对象,从而与服务器建立连接...
通常,这需要修改数据库连接参数和表的字符集设定,如设置`character_set_server`、`collation_server`为`utf8mb4`,并且在每个Bugzilla相关的数据库表中设置相应的字符集和排序规则。 然后,压缩包中提供的文件...
此外,还需要设置搜索基(search base),即在 LDAP 目录中搜索用户的起点。 ###### 2.2.2 高级 LDAP 配置 高级配置包括更复杂的设置,如分页查询支持、启动 TLS 连接等。例如,在某些情况下,可能需要使用 SSL 或 ...
- **LDAP查询使用**:解释如何使用`ldapsearch`命令进行查询操作。 - **Solaris上使用pkill**:提供在Solaris系统中正确使用`pkill`命令的注意事项。 - **修改网络存储限制**:指导如何更改网络存储的字符限制。 - *...
4. `get_courses_in_metacourse($metacourseid)`:从元课程表中获取所有关联的课程,元课程是一种特殊类型的课程,可以包含其他课程。 5. `get_courses_notin_metacourse($metacourseid, $count=false)`:返回不在...
Windchill是一款由PTC(参数技术公司)提供的集成产品和服务生命周期管理(PLM)解决方案。它提供了一套全面的功能,包括产品数据管理、协同设计、项目管理和质量管理等,适用于不同规模的企业。 #### 学习目标 - ...
8.5.3 使用array_search函数进行查找 129 8.5.4 线性表的入栈与出栈 129 8.5.5 数组的合并 131 8.5.6 数组的拆分 133 8.5.7 随机排序 134 8.6 小结 135 第9章 PHP程序调试 136 9.1 PHP中的错误类型 136 9.1.1 语法...
- **LDAP Editor**:讲解了LDAP编辑器的用法。 - **Oracle Homes**:解释了Oracle Homes的概念及其管理方法。 - **TNSNames Editor**:阐述了TNSNames编辑器的功能及使用方法。 #### 八、教程与调试 - **Tutorials...