在我的客户端上进行 pam 身份验证(libnss-ldap 和 libpam-ldap 包和配置)有一个配置导致我
nss_ldap: failed to bind to LDAP server ldapi://172.16.10.174/: Can't contact LDAP server
我的服务器启动如下(似乎ldapi可用):
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol)
Loaded: loaded (/etc/init.d/slapd; generated; vendor preset: enabled)
Active: active (running) since Thu 2018-10-04 09:40:14 -03; 8min ago
Docs: man:systemd-sysv-generator(8)
Process: 1026 ExecStart=/etc/init.d/slapd start (code=exited, status=0/SUCCESS)
Tasks: 3 (limit: 4915)
CGroup: /system.slice/slapd.service
└─1180 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap -F /etc/ldap/slapd.d
使用 ldap它可以工作
ldapsearch -H ldap://172.16.10.174/ -b dc=myDomain,dc=local -x
但是在本地主机上或局域网内的机器上都没有 ldapi :
ldapsearch -H ldapi://localhost:389 -b dc=solarity,dc=local -x
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)`
我应该更改服务器的配置以能够与客户端连接ldapi://
或更改客户端以进行身份验证ldap://
吗?
- 客户: nssd的debian 9中的配置文件在哪里,以便我可以将协议更改为ldap而不是ldapi?
- 服务器:如果对使用 ldapi 协议有任何意义,我该如何对其进行测试并配置服务器以执行我的客户端所期望的操作(
ldapsearch -H ldapi://172.16.10.174/ -b dc=solarity,dc=local -x
不起作用)
该
ldapi://
协议用于通过文件系统套接字访问 LDAP 服务器,例如/var/run/ldapi
(对于 Debian,这可能不同,这是 CentOS 上的默认位置)。因此,它仅在您与 LDAP 服务器本身位于同一主机上时才有效。如果您需要从其他机器访问 LDAP 服务器,最好使用
ldap://
或ldaps://
。根据wiki.debian.org/LDAP/NSS和wiki.debian.org/LDAP/PAM它应该
/etc/libnss-ldap.conf
分别/etc/pam_ldap.conf
是