首页 > 其他分享 >Ldap ldapsearch

Ldap ldapsearch

时间:2022-11-28 15:05:04浏览次数:33  
标签:cn acme 指定 ldapsearch 搜索 Ldap com



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 应用程序中用以确定群组成员的另一个公用过滤器)。



标签:cn,acme,指定,ldapsearch,搜索,Ldap,com
From: https://blog.51cto.com/u_15794314/5891287

相关文章

  • OS + Centos7 LDAP / centos8 ldap
    s环境cents8.6,软件ldap2.4.46[root@scts08tldap]#yumlist*ldap*Lastmetadataexpirationcheck:2:30:54agoonMon28Nov202201:25:57AMPST.Installed......
  • Redis管理平台Cachecloud使用LDAP进行认证登录
    cachecloud版本:https://github.com/sohutv/cachecloud/archive/refs/tags/2.2.tar.gz 公司使用ldap的ssl认证,java本人一点都不懂,耗费几天时间没有搞定,只能曲线救国,使用s......
  • ldap
    https://www.zhangqiongjie.com/5658.html1.Referencehttps://www.golinuxcloud.com/configure-ldap-client-auth-ldap-server/https://computingforgeeks.com/run-open......
  • 基于飞书通讯录搭建本地LDAP服务(钉钉、企业微信配置后续更新)
    目前飞书社交办公应用成为公司日常沟通办公的协作工具,以及作为各种流程的审批处理系统,HR 也会在飞书上去管理所有员工的状态及组织架构。随着公司内新部署的业务系统越来越......
  • Spring Data(数据) LDAP
    版本3.0.0SpringDataLDAP使构建使用轻量级目录访问协议(LDAP)的基于Spring的应用程序变得更加容易。本文档是Spring数据的参考指南-文档支持。它解释了文档模块的概念......
  • Kubernetes部署ldap
    目录docldapinitpvldapinituse查看状态dochttps://hub.kubeapps.com/charts/geek-cookbook/openldapldap389tcp636tcpinitpvkubectlapply-f/free_cicd......
  • AD域/OpenLDAP账号密码被修改或过期,802.1x认证自动重连导致账户被锁定,无法上网怎么办?
    搭建了微软ActiveDirectory(AD)或OpenLDAP的企业,通常会让员工使用AD域账号或OpenLDAP账号密码登录电脑终端、OA、VPN、VDI或进行网络接入802.1x认证。AD域/OpenLDAP......
  • 使用python 接入LDAP验证系统实践记录
    LDAP简介LDAP(LightDirectoryAccessPortocol)是轻量目录访问协议,基于X.500标准,支持TCP/IP。LDAP基本概念LDAP的目的是为各种软件提供统一标准的认证机制,所有软件就可......
  • centos7 部署0penvpn+openldap
    全程远程帮忙部署,给个辛苦费就行,外加送文档骑娥8_3_6_8_8_5_5_7_4【说明来意】jumpserver、gitlab、confluence(wiki)、confluence(jira)、yapi、jenkins、nginx、zabbi......
  • java连接ranger+ldap认证的hive
        使用java连接ranger+ldap认证的hive,通过jdbc加上用户名密码即可,代码示例如下:importjava.sql.*;publicclassJdbcHiveLdap{privatestaticString......