ldap数据库--ldapsearch,ldapmodify

Posted 向东1991

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ldap数据库--ldapsearch,ldapmodify相关的知识,希望对你有一定的参考价值。

简单介绍一下ldapsearch命令,在ldap搜索条目时很有用,只要适当调整filter就可以。

命令如下:

  ldapsearch -h hostname -p port -b baseDN -D BIND_DN  [options] filter [attribute]...

  参数说明:  

    -h:主机名或ip地址

    -p:端口号 

    -b:suffix dn

    -D:使用搜索绑定的用户

  其他参数一般很少使用。下面举几个例子看一下:

1)搜索所有条目:

  ldapsearch -h host -b "dc=example,dc=com" "(objectclass=*)"

2)搜索cn为指定名字的条目

  ldapsearch -h host -b "dc=example,dc=com" "(cn=Babs Jensen)"

3)使用filter文件进行搜索

  filter文件内容:

  sn=Francis

  givenname=Barbara

  指定搜索:

  ldapsearch -b "dc=example,dc=com" -h host -f filters cn uid

4)模糊查询,uid包含test的条目

  ldapsearch -h host -b "dc=example,dc=com" "(uid=*test*)"

5)同时满足多个属性,uid包含test,givenName包含test的条目

  ldapsearch -h host -b "dc=example,dc=com" "(|(uid=*test*)(givenName=*test*))"

这里filter的书写规则和aci的filter中书写规则相同。

 

通过ldapmodify可以更改条目属性,下面简单介绍一下,ldapmodify在添加,删除,更新,更改dn的操作

1,添加条目,在使用ldapmodify添加条目的时候,可以手动输入要添加的条目的所有属性,也可以通过使用文件的方式进行添加;

  文件内容如下(add.ldif):在编辑文件时须将必填属性,例如uid,cn,sn等写完整

  dn: uid=bcubbins,ou=People,dc=example,dc=com
  objectclass: top
  objectclass: person
  objectclass: organizationalPerson
  objectclass: inetOrgPerson
  uid: bcubbins
  givenName: Bartholomew
  sn: Cubbins
  cn: Bartholomew Cubbins
  mail: [email protected]
  userPassword: bcubbins
  facsimiletelephonenumber: +1 234 567 8910  

  使用命令:

  ldapmodify -a -h host -D uid=bjensen,ou=people,dc=example,dc=com -w - -f add.ldif

  如果不是用文件,则需要在命令行下手动输入如上内容,完成后按回车键。例如:

  dn: uid=bcubbins,ou=People,dc=example,dc=com

  changeType:add

  objectclass: top
  objectclass: person
  objectclass: organizationalPerson
  objectclass: inetOrgPerson
  uid: bcubbins
  givenName: Bartholomew
  sn: Cubbins
  cn: Bartholomew Cubbins
  ....

  

2,修该条目,修改条目和删除条目操作类似

 通过文件修改:

  dn: uid=bcubbins,ou=People,dc=example,dc=com

  changetype: modify
  add: description
  description: Added with ldapmodify
  -
  replace: mail
  mail: [email protected]

  执行ldapmodify命令

  ldapmodify -h host -c -v -D uid=bjensen,ou=People,dc=example,dc=com -w - -f modify.ldif

 如果不通过文件修改,则需手动输入如上所有红色字体内容

3,删除条目,删除条目是可以通过指定文件内容删除,手动输入需删除条目

  ldapmodify -h host -D uid=bjensen,ou=People,dc=example,dc=com -w -  

  dn: uid=bcubbins,ou=People,dc=example,dc=com
  changetype: delete
  deleting entry uid=bcubbins,ou=People,dc=example,dc=com

4,移动条目,即更改条目uid,dn

  ldapmodify -h host -D uid=hmiller,ou=people,dc=example,dc=com -w -  

  changetype: modrdn
  newrdn: uid=jwallace
  deleteoldrdn: 0
  newsuperior: ou=special users,dc=example,dc=com

  deleteoldrdn:0,保留原dn;1,删除原dn。再进行条目移动时,需具有import和export权限。

以上是关于ldap数据库--ldapsearch,ldapmodify的主要内容,如果未能解决你的问题,请参考以下文章

Jumpcloud 的 Rocketchat LDAP 配置

搭建ldap双主模式

LDAP搜索与whoami

从命令行使用 ldapsearch 查询 Windows Active Directory 服务器

转到LDAP搜索ContextCSN

Openldap导入数据