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: bcubbins@example.com
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: bart@example.com
执行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权限。