Ldap-无法“登录”但可以ldapsearch-(日志)传输端点未连接

Ldap-无法“登录”但可以ldapsearch-(日志)传输端点未连接

我遇到了这个问题:我在 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。您必须停止nslcdnscd服务 – 我认为 centos 使用 systemd,因此systemctl stop nslcdsystemctl stop nscd– 然后运行nslcd -d

传输端点未连接只是意味着没有建立网络连接。在这种情况下,原因似乎是配置错误。

相关内容