![运行“su”时 LDAP 用户不存在](https://linux22.com/image/110530/%E8%BF%90%E8%A1%8C%E2%80%9Csu%E2%80%9D%E6%97%B6%20LDAP%20%E7%94%A8%E6%88%B7%E4%B8%8D%E5%AD%98%E5%9C%A8.png)
我正在尝试根据 Sander Van Vugt 的 RHEL7 的 RHCSA/RHCE 书中的说明设置 LDAP 身份验证。在第 6 章中,他解释了当使用authconfig-tui
该FORCELEGACY
选项时,将其设置为yes
in /etc/sysconfig/authconfig
。这应该配置nslcd
而不是sssd
.
我不认为这种情况会发生。也许在 7.0 甚至 7.1 中就是这样,但在 7.3 中该选项设置为no
after using authconfig-tui
.
如果我抛开nslcd
vssssd
混乱并尝试完成练习,su - lara
通过 LDAP 向所述用户进行身份验证,我只会得到:
su: user lara does not exist
我已经验证 FreeIPA 服务器正在使用 回答查询,ldapsearch
并在这样做时确认用户位于 LDAP 中。但在我看来,这su
并不是针对 LDAP 进行身份验证,而是针对/etc/passwd
.
我的PAM
system-auth
配置包括sssd
似乎必要的条目:
auth sufficient pam_sss.so forward_pass
account [default=bad success=ok user_unknown=ignore] pam.sss.so
password sufficient pam_sss.so use_authtok
session optional pam_sss.so
我的/etc/nsswitch.conf
文件包含:
passwd: files sss
shadow: files sss
group: files sss
该sssd
服务处于活动状态。
/var/log/*
或中没有任何日志条目/var/log/sssd/*
。事实上,所有sssd
日志都不包含任何内容。
编辑
经过一番阅读后,我仍然没有找到解决方案,但是,我确实有更多信息。
ssh
如果我进入 LDAP 服务器,我就能够以用户 lara 身份进行身份验证。所以我知道 LDAP 确实在工作。
我还查看了PAM
的配置su
。这是拉入system-auth
文件:
auth substack system-auth
account include system-auth
password include system-auth
session include system-auth
所以它应该隐式地使用该pam_sss.so
模块。
但仍然无法解决。
编辑2
由于能够在本地或通过 SSH 使用用户 lara 登录 IPA 服务器,我决定将其上的 pam 文件与客户端上的 pam 文件进行比较。我能够确定的唯一区别是客户端包含broken_shadow
在pam_unix.so
帐户条目中。我删除了它,甚至重新启动,但它没有解决任何问题。
我该如何禁用broken_shadow
?我找不到任何相关信息。
答案1
这可能是不相关的,但我正在遵循相同的过程(使用我创建的客户端服务器)并设法通过执行以下操作来修复它:
- 检查所有内容是否与我在 /etc/sssd/sssd.conf 中的 authconfig-tui 中设置的内容相匹配
- 将 /etc/sssd/sssd.conf 上的权限设置为 0600(此后立即生效) - 我不确定为什么这会产生影响,因为它只授予用户 R/W,但我在 Oracle 指南下找到了它对于 RHEL7 SSSD 客户端配置:https://docs.oracle.com/cd/E52668_01/E54669/html/ol7-sssd-ldap.html