我有一个 OpenLDAP 服务器版本openldap-2.4.40
,可以在 CentOS 7 最低版本上运行良好。我通过执行以下命令进行了测试:
ldapwhoami -H ldap://provider.med.cornell.edu -x \
-D "cn=Manager,dc=provider,dc=med,dc=cornell,dc=edu" -W
但如果我使用ldaps://.....
它就会失败:
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
我尝试配置此文件,/etc/sysconfig/slapd
但没有成功。
SLAPD_URLS="ldapi:/// ldap:///"
这被注释掉了
# SLAPD_URLS="ldapi:/// ldaps:///"
# Any custom options # SLAPD_OPTIONS="-g ldap"
如果我取消注释
#SLAPD_URLS="ldapi:/// ldaps:///"
然后重新启动slapd
,那么ldap:///
也将不起作用。
可能存在什么问题?
答案1
您尝试过 ldap:/// ldaps:/// 吗?
根据本页http://www.openldap.org/doc/admin24/runningslapd.html,ldapi 是通过 ipc 实现的 ldap。
答案2
我将我的域名更改为 provide.example.com,并确保我正确进行了认证,并且 ldaps 在服务器上运行良好,并添加了一个新用户并通过 ldapsearch 进行检索。
然后我设置了客户端并运行:ldapwhoami -H ldaps://provider.example.com -x -D "cn=Manager,dc=example,dc=com" -W 并得到:dn:cn=Manager,dc=example,dc=com
如果我在客户端上运行 ldapsearch,就会得到 newuser01。
但是当我尝试运行:getent -s sss passwd newuser01
我什么也没得到。
我的 /etc/sssd/sssd.conf 的内容是:[domain/default]
autofs_provider = ldap cache_credentials = False ldap_search_base = dc=example,dc=com krb5_server = # id_provider = ldap auth_provider = ldap chpass_provider = ldap ldap_uri = ldaps://provider.example.com ldap_id_use_start_tls = False ldap_tls_cacertdir = /etc/openldap/cacerts [sssd] services = nss, pam, autofs config_file_version = 2
域 = 默认 [nss] homedir_substring = /home
[帕姆]
[须藤]
[autofs]
[SSH]
[帕克]
[如果适用]
当然我也对这些进行了 authconfig authconfig \ --disablesmartcard \ --disablefingerprint \ --enablesssd \ --enablesssdauth \ --enablelocauthorize \ --disablemd5 \ --passalgo=sha512 \ --enablepamaccess \ --enableldap \ --enableldapauth \ --disableldaptls \ --ldapserver=ldaps://provider.example.com:636 \ --ldapbasedn=dc=example,dc=com \ --enablemkhomedir \ --disablecachecreds \ --disablekrb5 \ --disablekrb5kdcdns \ --disablekrb5realmdns \ --krb5kdc=" #" \ --updateall
我猜这是一个带有问题的答案,不太确定如何提出新问题或者我应该开始提出新问题?