我在名为“miservidor.midominio.local”的 Fedora 30 远程计算机上运行 389DS LDAPS 服务器(使用自签名证书)。那里有一个包含用户和组条目的典型目录。
我可以从另一台 Fedora 30 机器(客户端的那台)检索目录数据,没有任何问题。例如,执行此命令(“usu1ldap”是位于“usuarios”组织单位内的用户的名称)...:
LDAPTLS_REQCERT=never ldapsearch -H ldaps://miservidor.midominio.local -b “dc=midominio,dc=local” uid=usu1ldap
...我得到:
但我想用“usu1ldap”登录客户端机器。所以我在客户端机器上配置了 /etc/sssd/sssd.conf 文件,如下所示...:
...我已经执行了sudo authselect 选择 sssd“自动”配置 NSS/PAM 框架,最后我重新启动了 sssd 服务。
然而,有些事情不起作用:getent 密码没有显示“usu1ldap”用户,显然,id usu1ldap也检索到“未知用户”
我做错了什么?我试图掌握 sssd 的日志文件,但毫无头绪。我有点绝望了……
非常感谢您的耐心。
注意:请注意,在 sssd.conf 文件中,我必须分别将目录管理员的名称和密码分配给“ldap_default_bind_dn”和“ldap_default_authtok”行,因为我的 389DS 服务器默认不允许匿名查询,而且我不知道如何更改这一点(目前)。
答案1
好吧,我已经解决了这个问题:我忘了在“/etc/sssd/sssd.conf”文件([sssd] 部分下方)中添加 services=nss,pam 行。就这样。哦,天哪……我以为 systemd 可以处理这个问题(见https://docs.pagure.org/SSSD.sssd/design_pages/systemd_activatable_responders.html),但似乎并非如此。
要了解整个故事直至这个(幸福的)结局,你可以阅读这篇完整的文章:https://ask.fedoraproject.org/t/cant-authenticate-against-a-389ds-server-i-suspect-its-a-sssd-problem-on-the-client-side/3347
不管怎么说,还是要谢谢你