ldap_bind:证书无效(49)

时间:2013-03-22 14:41:24

标签: openldap

我在 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

最诚挚的问候 阿里·雷扎

1 个答案:

答案 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(除非您明确指定配置)使用-fslapd.conf在OpenLDAP-2.4中正式弃用。如果您没有获得多页输出,那么您的二进制文件是在没有调试支持的情况下构建的

  • 停止OpenLDAP,然后在启用调试的单独终端/控制台中手动启动slapd(以root身份,^ C退出)

      

    slapd -h ldap://localhost -d 481

    然后重试搜索并查看是否可以发现问题(不幸的是,在输出的开头会有很多模式噪声)。 (注意:在没有slapd / -u选项的情况下运行-g可能会更改可能导致问题的文件所有权,您通常应该使用这些选项,可能 {{1 }})

  • 如果启用了调试,则尝试

      

    -u ldap -g ldap