0

我想使用 AWS Simple AD (samba) 实现集中身份验证。客户端机器是基于 linux 的(ubuntu 和 amazon linux)。Ony 我的 ldap,我只是cn=testdc=ldap,dc=test,dc=io.

我在我的 linux 机器上使用 sssd 作为身份验证客户端。这里是我的/etc/sssd/sssd.conf

[sssd]
config_file_version = 2
services = nss, pam
domains = LDAP

[nss]

[pam]

[domain/LDAP]
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307
ldap_uri = ldap://ldap.test.io
ldap_default_bind_dn = dc=ldap,dc=test,dc=io
ldap_default_authtok = password01
ldap_default_authtok_type = password
ldap_search_base = dc=ldap,dc=test,dc=io
ldap_user_search_base = dc=ldap,dc=test,dc=io
ldap_group_search_base = odc=ldap,dc=test,dc=io
ldap_user_object_class = inetOrgPerson
ldap_user_gecos = cn
override_shell = /bin/bash
cache_credentials = true
enumerate = true

但是,它看起来不像从客户端工作,我没有从我的客户端获得 ldap 用户(我执行这个getent passwd)。

我得到了这个错误:

nss_ldap: reconnecting to LDAP server...
nss_ldap: reconnecting to LDAP server (sleeping 1 seconds)...
nss_ldap: could not search LDAP server - Server is unavailable
No passwd entry for user 'test'

这是我配置 sssd 客户端的参考 在此处输入链接描述

对这种情况有什么建议吗?

谢谢

4

2 回答 2

0

您收到的错误消息来自 nss_ldap,而不是来自 nss_sss。所以我假设在 /etc/nsswitch.conf 中,您单独或在 sss 之前配置了 ldap 模块。如果要由 sssd 返回用户信息,则使用 sss nsswich 模块。

我还建议不要使用 enumerate=true ,除非您的目录非常小。

于 2018-04-13T10:08:20.527 回答
0

一定/etc/nsswitch.conf要有:

passwd: files sss
shadow: files sss
groups: files sss

当然,在堆栈中/etc/pam.d/system-auth-ac/etc/pam.d/password-auth-ac必须使用pam_sss.so库。

于 2018-04-16T07:50:51.523 回答