阿男的小窝

View the Project on GitHub

OpenLDAP的安装与基本使用方法(二)

接下来我们回过头看/etc/slapd.d/cn=config/olcDatabase={2}mdb.ldif当中的内容:

olcRootDN: cn=Manager,dc=my-domain,dc=com

olcRootDN是用来操作这个数据库的账号。然后看olcSuffix的定义:

olcSuffix: dc=my-domain,dc=com

上面的配置定义了这个数据库的查询地址。

在上一篇文章中,我们启动了slapd服务,因此这里我们可以使用ldapsearch命令来查询数据库:

$ ldapsearch -v -x -h localhost -D 'cn=Manager,dc=my-domain,dc=com' -w '' -b 'dc=my-domain,dc=com'
ldap_initialize( ldap://localhost )
ldap_bind: Server is unwilling to perform (53)
	additional info: unauthenticated bind (DN with no password) disallowed

上面的ldapsearch命令后面跟了一大串的options,其中-v是使用verbose模式,输出更多信息;-x是使用普通的用户名密码模式来访问数据库;-h是指定要访问的服务器地址;-D是上面看到的数据库管理员账号;-w是密码,我们还没设定密码,所以留空;-b是上面看到的数据库的查询地址。

最后上面的查询报错了,错误原因是RootDN不能使用空密码。因此我们要给管RootDN设置一个密码。打开/etc/slapd.d/cn=config/olcDatabase={2}mdb.ldif,在RootDN的下面添加一行:

olcRootPW: secret

这里为了配置简单,我们就使用明文来保存密码,密码是secret。保存文件,然后重新启动slapd服务:

service slapd restart

然后我们重新做查询,这次要把密码加上

$ ldapsearch -v -x -h localhost -D 'cn=Manager,dc=my-domain,dc=com' -w 'secret' -b 'dc=my-domain,dc=com'
ldap_initialize( ldap://localhost )
filter: (objectclass=*)
requesting: All userApplication attributes
# extended LDIF
#
# LDAPv3
# base <dc=my-domain,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# search result
search: 2
result: 32 No such object

# numResponses: 1

如上所示,已经可以进行数据库的查询了。