我几乎在以下问题上被困了一天,
我使用:apt-get install slapd
安装了LDAP并使用以下配置:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
allow bind_v2
loglevel 0
moduleload back_sbdb.la
database bdb
suffix "dc=test,dc=nl"
rootdn "cn=Directory Manager,dc=test,dc=nl"
rootpw test
directory /var/lib/ldap
index objectClass eq
index userPassword eq,pres
index givenName,mail,mobile,sn,title,cn,description eq,sub,pres
index displayName eq,sub,pres
index postalAddress,facsimileTelephoneNumber pres
access to *
by self write
by * read
然后我尝试使用
进行绑定ldapsearch -D cn=Directory Manager,dc=test,dc=nl -w test
但我仍然收到错误ldap_bind:凭证无效(49)
任何人都有任何想法或线索可能是什么?
先谢谢
答案 0 :(得分:1)
尝试使用像;
这样的引号ldapsearch -D "cn=Directory Manager,dc=test,dc=nl" -w test
目录管理器中的空格字符可能会导致问题。
编辑:另外,你确定你不需要-h -p参数吗?
-h The host name of the directory server
-p The port number of the directory server
Edit2:弄清楚出了什么问题。您正在slapd配置文件中使用未加密的rootpw。您应该使用由slappasswd
工具输出创建的加密密码。在特殊情况下,这可能会导致问题。
查看此链接了解详情:http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-ldap-quickstart.html
答案 1 :(得分:1)
你可以尝试一些事情:
启用更详细的日志记录(loglevel 255
),并查看日志文件中是否显示任何内容。
通过检查slapd.conf文件(ls -lu slapd.conf
)上的访问时间来验证服务器是否正在读取您认为的配置文件
尝试使用无效的dn(ldapsearch -D cn=no-such-user -w test
)绑定并查看错误消息是否更改(如果是,则确认问题与密码有关,而不是dn)。
答案 2 :(得分:0)
试试man ldapsearch
。
我对debian / ubuntu不太确定,但在FreeBSD中你需要添加一个-x
来使用简单的身份验证而不是SASL。我想这可能是你的问题?
此外,您可以使用-W
而不是在命令行上传递密码纯文本。