OPENLDAP 命令操作

来源:互联网 发布:金山恢复数据 编辑:程序博客网 时间:2024/05/17 23:43

 

手动录入方法

  • 第一步是要建立DN

  • #ldapadd -x -D 'cn=root,dc=it,dc=com' -W

  • dn:dc=it,dc=com

  • objectClass:dcObject

  • objectClass:organization

  • dc:it

  • o:Corporation

  • description:d Corporation

  • 注意:如果你用复制/粘贴功能把以上内容拷贝过去,一定要注意每行后面不要有空格,建议还是手工输入,按Ctrl+d存盘。

  • 第二步是建立RDN:

  • #ldapadd -x -D 'cn=root,dc=it,dc=com' -W

  • #-x表示用简单验证,-D表示指定目录,-W表示弹出密码输入提示

输入密码,这里的密码是在配置文件中rootpw项设置的密码,不是操作系统中root用户的密码。验证通过后就可输入以下内容:

dn:uid=qq,dc=cs,dc=tjut

objectClass:person

objectClass:organizationalPerson

objectClass:inetOrgPerson

uid:qq

cn:qq

sn:qq

telephoneNumber:138888888

description:openldap test

telexNumber:tex-8888888

street:my street

postOfficeBox:postofficebox

displayName:qqdisplay

homePhone:home1111111

mobile:mobile99999

mail:qq@qq.com

输入完所有信息后,按Ctrl+d结束存盘。如果出现出错信息,请查一下对象类和属性的对应关系有没有错或输入失误。初学者就容易出错的地方是对象类和属性的对应关系没有处理好。对象类和属性是在schema文档中定义的。它们之间的关系是这样的,对象类中有些属性是必选的,有些属性是可选的。录入信息的属性必须在对象类中有定义才能用。

输入以下命令可查询到刚才输入的信息。

#ldapsearch -x -b 'dc=it,dc=com'

-b选项是设置目录起点,如果设置了客户端的BASE配置参数,该项可不用。

如果按以上配置文件设置了acl,用上面的查询命令是查询不到受保护的内容的。如上面的userPasswordand mail。要查询到这些受限内容,需要通过验证才可以:

#ldapsearch -x -LLL -h it.com -b 'dc=it,dc=com' -D'uid=qq,dc=it,dc=com' -W 'uid=qq'

接着提示输入密码。输入userPassword的密码回车,所有信息就都出来了。

2.2.2. 文件方式

.ldif文件方式也就是把以上手工输入的内容先写入一个.ldif文件中,然后,用ldapadd命令的-f参数导入。

#ldapadd -x -D "cn=root,dc=it,dc=com" -W -f test.ldif

一个完整的global.ldif文件例子:

dn:dc=info, dc=net

objectClass:top

objectClass:organization

o:info.net

 

dn:ou=People, dc=info, dc=net

objectClass:top

objectClass:organizationalUnit

ou:People

description:User Info

 

dn:cn=Admin, dc=info, dc=net

objectClass:top

objectClass:person

objectClass:organizationalPerson

cn:Admin

sn:Admin

userPassword:Admin

description:Administrator for info.net

 

dn:id=1, ou=People, dc=info, dc=net

objectclass:top

objectclass:InfoPerson

id:1

username:张三

tel:021-63138990

card_id:ABC001

我们也可用slapadd命令来导入数据。该命令可以导入包含一些系统信息的ldif文件,如:

dn:dc=it,dc=com

objectClass:top

objectClass:dcObject

objectClass:organization

dc:it

structuralObjectClass:organization

entryUUID:d97b06da-d77e-1028-9866-d4ec7ac00d12

creatorsName:cn=anonymous #系统信息

createTimestamp:20041201005115Z #系统信息

o::5bm/5bee5biC6JmO5aS055S15rGg6ZuG5Zui5pyJ6ZmQ5YWs5Y+4

userPassword::e01ENX14TXBDT0tDNUk0SU56RkNhYjNXRW13PT0=

entryCSN:2004120603:50:08Z#0x0001#0#0000 #系统信息

modifiersName:cn=admin,dc=it,dc=com #系统信息

modifyTimestamp:20041206035008Z #系统信息

 

 

 

再次提醒,注意每行后面不要留有空格。

2.2.3. 脚本方式

脚本录入方式需要自已编写脚本,或到网上下载。有一个用PHP写的LDAP管理工具不错,叫phpLDAPadmin。可以到以下网址下载:http://phpldapadmin.sourceforge.net。安装方法也很简单,只要解压出来,拷贝到apacheweb目录下,按说明配置一下设定文档,ok了。

2.3. 常用命令介绍

接着为大家介绍一下几个常用的ldap命令,如果你用了phpLDAPadmin程序,其实它已经有一个很好的图形介面帮你完成这些命令了。但了解一下还是对你还是很有益的,因为命令方法才是最根本的。

  • 删除命令ldapdelete

  • #ldapdelete -x -D 'cn=root,dc=it,dc=com' -W 'uid=qq1,dc=it,dc=com'

  • 重新索引ldap数据库命令slapindex

  • #slapindex -f slapd.conf

  • 设置使用者密码,当然了,你的用户需要有userPassword项了。

  • #ldappasswd-x -D "cn=root,dc=it,dc=com" -W "uid=qq1,dc=it,dc=com"-S

  • Newpassword:

  • Re-enternew password:

  • Enterbind password:

  • Result:Success (0)

     

     

     

    "Enterbind password" "cn=root,dc=it,dc=com"管理员的密码。

  • 管理员密码更改

  • #slappasswd

  • Newpassword

  • Re-enternew password

  • {SSHA}83DJ4KVwqlk1uh9k2uDb8+NT1U4RgkEs

接下再拷贝到path/to/sldap.confrootpw即可,重启使用配置文件生效

  • 通过ldapmodify修改目录内容

  • #ldapmodify -x -D "cn=root,dc=it,dc=com" -W -f modify.ldif

通过ldif文件修改ldap数据,ldif文件格式如下:

dn:cn=qq,dc=it,dc=com

changetype:modify

replace:mail

mail:modme@example.com

-

add:title

title:Grand Poobah

-

add:jpegPhoto

jpegPhoto:<file:///tmp/modme.jpeg

-

delete:description

-

 

原创粉丝点击