我在通过 SSSD 从 CentOS 7 计算机向 Windows Server 2012 R2 DC 通过 LDAP 进行身份验证时遇到问题。
Linux WS100 3.10.0-957.10.1.el7.x86_64 #1 SMP Mon Mar 18 15:06:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
ldapsearch 可以通过普通 LDAP 成功查询目录,没有任何问题
ldapsearch -x -h dc.company.local -D "cn=some user,cn=users,dc=company,dc=local" -w thePassword -b "cn=users,dc=company,dc=local" -s sub "(cn=*)" cn mail sn
以下是为此目的配置 SSSD 的步骤
yum install sssd sssd-client
authconfig --enablesssd --enablesssdauth --ldapserver=dc.company.local --ldapbasedn="cn=users,dc=company,dc=local" --update
/etc/nsswitch.conf
包含 sss 的条目
passwd: files sss
shadow: files sss
group: files sss
并按/etc/sssd/sssd.conf
以下方式配置:
[sssd]
domains = company.local
config_file_version = 2
services = nss, pam
[domain/company.local]
id_provider = ldap
auth_provider = ldap
ldap_schema = ad
ldap_uri = ldap://dc.company.local
ldap_search_base = cn=users,dc=company,dc=local
ldap_default_bind_dn = cn=some user,cn=users,dc=company,dc=local
ldap_default_authtok_type = password
ldap_default_authtok = thePassword
override_homedir = /home/%u
但su - username
su - 也[email protected]
不起作用。tcpdump 检查到有到域控制器的网络事务,但我认为凭据对于我使用的架构来说格式不正确 (ad)。
我尝试清空 SSSD 缓存并重新启动守护程序,但没有任何变化。我在 中找不到相关消息/var/log/secure
,并且/var/log/sssd/
日志没有指出配置错误。
有人能帮我一下吗?您是否遇到过类似的问题,或者可以提出在类似设置中可行的其他解决方案?
谢谢你!
答案1
您可能应该使用id_provider = ad
而不是ldap
我在针对 AD 的 SSSD 配置中使用的。auth_provider
默认为相同的值,因此id_provider
您可以省略它并使用后端也ad
意味着。ldap_schema = ad