2011-06-02 924 views
6

我到处寻找解决方案,但我仍然没有找到它。 我有这两个简单的文件作为sladp.conf和mytree.ldif,当我尝试向mytree.ldif添加一些东西时,它一直要求我输入密码(我相信它是slapd.conf中定义的roopw),但它不工作。 我真的需要帮助。输入LDAP密码一直说ldap_bind:无效的凭据(49)

这些都是我的文件:

的slapd.conf

database dbd 
suffix "dc=ers,dc=uminho,dc=pt" 
rootdn "cn=Manager,dc=ers,dc=uminho,dc=pt" 
rootpw ersadmin 
directory /usr/local/var/openldap-data 

mytree.ldif

dn: dc=ers, dc=uminho, dc=pt 
objectclass: dcObject 
objectclass: organization 
o: ERS 
dc: ers 

dn: cn=Manager,dc=ers,dc=uminho,dc=pt 
objectclass: organizationalRole 
cn: Manager 

这就是我想要做的,我的反应:

sudo ldapadd -x -D "cn=Manager,dc=ers,dc=uminho,dc=pt" -W -f /etc/ldap/mytree.ldif 
Enter LDAP Password: 
ldap_bind: Invalid credentials (49) 

我已经尝试过使用

slappasswd -h {SHA} -s ersadmin 

,并改变了我的slapd.conf文件

password-hash {SHA} 
rootpw {SHA}pLEBIPx4rW3eebpwACBGAZkNH4CVBRGW 

加密密码,但没有奏效。提前致谢。

+0

对于我的文章的可怕外观感到抱歉 – mpg 2011-06-02 18:43:40

回答

12

此问题可能更适合于http://serverfault.com

看来你的问题是绑定(身份验证)阶段,所以你应该使用ldapsearch进行测试,并在尝试修改数据库之前得到这个工作。尝试:

ldapsearch -x -D cn=Manager,dc=ers,dc=uminho,dc=pt -w ersadmin 

假设这给你同样的错误,请检查您的OpenLDAP日志文件(默认情况下它记录到系统日志,虽然这是依赖于系统)。查看连接是否连接到服务器,看看它为什么拒绝它。如果日志文件没有提供足够的信息,请在slapd.conf(trace/acl)中启用更多调试日志记录。

如果它甚至没有看到连接,则可能正在向其他某个服务器进行身份验证,通常在${prefix}/etc/ldap.conf中进行配置。

另外,还要确保您的的slapd实际上是用你的的slapd.conf,而不是另一个配置源(可以使用slapd.dslapd.conf中在不同的位置)。

除了日志文件之外,还请指定您正在使用的OpenLDAP版本,因为2.3和2.4之间(甚至是次要版本之间)存在巨大差异。

+0

感谢您的答案Ingmar Hupp。 我正在和朋友的个人电脑工作,现在我没有。我甚至不再使用ldap。我无法告诉你有关版本的任何细节。这是一个大学任务,所以我可能不会再需要它(或者至少很长一段时间)。 但是,再次感谢。 – mpg 2011-06-09 09:37:07

+0

这对我很有帮助。谢谢! – shellter 2013-01-11 19:40:09

0

我已经遇到过这个问题很多次了,在这里解决方案检查slapd中的rootpw。CONF你有什么类似下面的进入,意味着空间将之间偶然加入

只要复制以下并重新启动LDAP服务

database  bdb 
suffix   "dc=ldaptest,dc=com" 
rootdn   "cn=Manager,dc=ldaptest,dc=com" 
rootpw   {SSHA}Bnrl4t23XQxT3uzlC9AxO+hm6DNpps`Hello` 

在我的情况下,上述改变你的专有名称根据您的情况请让我再知道一旦解决

-1

对我来说,它的工作是这样

slappasswd -h {SHA} -s ersadmin 

,并改变了我的slapd.conf的文件(旧ENCR yued)

rootpw {SHA}pLEBIPx4rW3eebpwACBGAZkNH4CVBRGW