IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    解决LDAP出现ldap_bind: Invalid credentials (49)错误

    bear发表于 2016-01-13 02:53:30
    love 0

    LDAP最经常遇到的就是ldap_bind: Invalid credentials (49)错误,本文阐述了错误原因及解决办法:

    比如在某LDAP客户端,使用rootdn(管理员)权限为某用户修改密码时

    $ ldappasswd -H ldap://192.168.32.1 -x -D "cn=admin,ou=People,dc=115,dc=com" -W -S "uid=zhang3,ou=People,dc=115,dc=com"
    New password: 
    Re-enter new password: 
    Enter LDAP Password: 
    ldap_bind: Invalid credentials (49)
    

    错误原因1:管理员DN或者用户DN错误
    管理员DN是在/etc/openldap/slapd.conf中指定的rootdn,其格式
    应该是”cn=admin,dc=115,dc=com”
    而不是”cn=admin,ou=People,dc=115,dc=com”
    而普通用户的DN才应该是”uid=zhang3,ou=People,dc=115,dc=com”。
    也可以执行如下命令查看该用户的DN是否存在

    查询用户列表,不需要密码
    $ ldapsearch -H ldap://192.168.32.1 -x -b "ou=People,dc=115,dc=com" | grep dn
    

    错误原因2:管理员密码错误
    在/etc/openldap/slapd.conf中改掉roodn的rootpw项,然后执行如下操作

    $ rm -fr /etc/openldap/slapd.d/*
    
    $ slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
    #测试配置文件语法是否有错误,如果提示testing succeeded则可以进入下一步
    
    $ chown -R ldap:ldap /etc/openldap/slapd.d/
    $ /etc/init.d/slapd restart
    

    提示:删除/etc/openldap/slapd.d/目录下的内容,并不会导致ldap数据库的丢失,实际上,ldap数据库存储位置(通常位于/var/lib/ldap目录下)由主配置文件里的directory项指定。



沪ICP备19023445号-2号
友情链接