我在 XUBUNTU 12.04上运行 OpenLDAP 2.4-28 。
我正在阅读“掌握OpenLDAP”并配置本书。
当我尝试执行以下搜索时(第47页):
$ ldapsearch -x -W -D 'cn=Manager,dc=example,dc=com' -b "" -s base
我被提示输入密码。然后我输入“秘密”但我收到以下错误:
ldap_bind: Invalid Credentials (49).
以下是我的slapd.conf
:
# slapd.conf - Configuration file for LDAP SLAPD
##########
# Basics #
##########
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel none
modulepath /usr/lib/ldap
# modulepath /usr/local/libexec/openldap
moduleload back_hdb
##########################
# Database Configuration #
##########################
database hdb
suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com"
rootpw secret
directory /var/lib/ldap
# directory /usr/local/var/openldap-data
index objectClass,cn eq
########
# ACLs #
########
access to attrs=userPassword
by anonymous auth
by self write
by * none
access to *
by self write
by * none
这是ldap.conf:
# LDAP Client Settings
URI ldap://localhost
BASE dc=example,dc=com
BINDDN cn=Manager,dc=example,dc=com
SIZELIMIT 0
TIMELIMIT 0
最诚挚的问候 阿里·雷扎
答案 0 :(得分:10)
我没有看到上述明显的问题。
可能您的ldap.conf
被覆盖,但命令行选项优先,ldapsearch
将忽略主BINDDN
ldap.conf
因此唯一可能出错的参数是URI。
(顺序为ETCDIR/ldap.conf
,然后是~/ldaprc
或~/.ldaprc
,然后是当前目录中的ldaprc
,尽管环境变量也会对此产生影响,见man ldapconf
。)
尝试使用显式URI:
ldapsearch -x -W -D 'cn=Manager,dc=example,dc=com' -b "" -s base -H ldap://localhost
或阻止默认值:
LDAPNOINIT=1 ldapsearch -x -W -D 'cn=Manager,dc=example,dc=com' -b "" -s base
如果这不起作用,那么一些故障排除(您可能需要slapd
二进制文件的完整路径来执行这些操作:
确保您的slapd.conf
正在使用且正确(以root用户身份)
slapd -T test -f slapd.conf -d 65535
您可能有一个剩余的slapd.d
配置目录,它优先于slapd.conf
(除非您明确指定配置)使用-f
,slapd.conf
在OpenLDAP-2.4中正式弃用。如果您没有获得多页输出,那么您的二进制文件是在没有调试支持的情况下构建的。
停止OpenLDAP,然后在启用调试的单独终端/控制台中手动启动slapd
(以root身份,^ C退出)
slapd -h ldap://localhost -d 481
然后重试搜索并查看是否可以发现问题(不幸的是,在输出的开头会有很多模式噪声)。 (注意:在没有slapd
/ -u
选项的情况下运行-g
可能会更改可能导致问题的文件所有权,您通常应该使用这些选项,可能 {{1 }})
如果启用了调试,则尝试
-u ldap -g ldap