![Ldap-无法“登录”但可以ldapsearch-(日志)传输端点未连接](https://linux22.com/image/1584895/Ldap-%E6%97%A0%E6%B3%95%E2%80%9C%E7%99%BB%E5%BD%95%E2%80%9D%E4%BD%86%E5%8F%AF%E4%BB%A5ldapsearch-%EF%BC%88%E6%97%A5%E5%BF%97%EF%BC%89%E4%BC%A0%E8%BE%93%E7%AB%AF%E7%82%B9%E6%9C%AA%E8%BF%9E%E6%8E%A5.png)
我遇到了这个问题:我在 centos 7 上,我尝试通过以下方式设置 ldap 远程凭据访问:
[192.168.9.105 #] authconfig --enableldap --enableldapauth
--ldapserver=ldap://192.168.9.104 --ldapbasedn="dc=myco,dc=local"
--enablemkhomedir --update
启动此查询(在运行 authconfig 的同一主机上)我得到:
[192.168.9.105 #] ldapsearch -x uid=ldaprptest -b dc=myco,dc=local -h 192.168.9.104
我得到了结果:
# extended LDIF
#
# LDAPv3
# base <dc=myco,dc=local> wlocalh scope subtree
# filter: uid=ldaprptest
# requesting: ALL
#
# ldaprptest, People, myco.local
dn: uid=ldaprptest,ou=People,dc=myco,dc=local
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: ldaprptest
uid: ldaprptest
uidNumber: 9988
gidNumber: 100
homeDirectory: /home/ldaprptest
loginShell: /bin/bash
gecos: LDAP Replication Test User
userPassword:: e2NyeXB0fXg=
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
所以我确信它可以连接
尝试之后
su ldaprptest
我[192.168.9.105 #] cat /var/log/messages
和我得到:
Mar 11 20:02:57 Centos-client-test-slave nslcd[3313]:
[d062c2] <passwd="ldaprptest"> failed to bind to LDAP server ldap://192.168.9.103:
Can't contact LDAP server: Transport endpoint is not connected
Mar 11 20:02:57 Centos-client-test-slave nslcd[3313]:
[d062c2] <passwd="ldaprptest"> no available LDAP server found:
Can't contact LDAP server: Transport endpoint is not connected
Mar 11 20:02:57 Centos-client-test-slave rsyslogd:
imjournal: rename() failed for new path: '/var/lib/rsyslog/imjournal.state':
Permission denied [v8.24.0-34.el7 try http://www.rsyslog.com/e/0 ]
编辑:查看日志:它似乎尝试连接到 192.168.9.103,尽管我将其设置为 192.168.9.104
另外:这是什么意思传输端点未连接?
EDIT2 我的/etc/nslcd.conf
是这样的:
uid nslcd
gid ldap
uri ldap://192.168.9.104
base "dc=myco,dc=local"
ssl no
tls_cacertdir /etc/openldap/cacerts
答案1
检查写入的配置authconfig
;由于日志消息是关于 nslcd 的,请尝试cat /etc/nslcd.conf
确保它具有正确的内容。
为了确保选择了正确的配置,请在调试模式下运行 nslcd。您必须停止nslcd
和nscd
服务 – 我认为 centos 使用 systemd,因此systemctl stop nslcd
和systemctl stop nscd
– 然后运行nslcd -d
。
传输端点未连接只是意味着没有建立网络连接。在这种情况下,原因似乎是配置错误。