运行“su”时 LDAP 用户不存在

运行“su”时 LDAP 用户不存在

我正在尝试根据 Sander Van Vugt 的 RHEL7 的 RHCSA/RHCE 书中的说明设置 LDAP 身份验证。在第 6 章中,他解释了当使用authconfig-tuiFORCELEGACY选项时,将其设置为yesin /etc/sysconfig/authconfig。这应该配置nslcd而不是sssd.

我不认为这种情况会发生。也许在 7.0 甚至 7.1 中就是这样,但在 7.3 中该选项设置为noafter using authconfig-tui.

如果我抛开nslcdvssssd混乱并尝试完成练习,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_shadowpam_unix.so帐户条目中。我删除了它,甚至重新启动,但它没有解决任何问题。

我该如何禁用broken_shadow?我找不到任何相关信息。

答案1

这可能是不相关的,但我正在遵循相同的过程(使用我创建的客户端服务器)并设法通过执行以下操作来修复它:

  1. 检查所有内容是否与我在 /etc/sssd/sssd.conf 中的 authconfig-tui 中设置的内容相匹配
  2. 将 /etc/sssd/sssd.conf 上的权限设置为 0600(此后立即生效) - 我不确定为什么这会产生影响,因为它只授予用户 R/W,但我在 Oracle 指南下找到了它对于 RHEL7 SSSD 客户端配置:https://docs.oracle.com/cd/E52668_01/E54669/html/ol7-sssd-ldap.html

编辑:可能的解释:https://pagure.io/SSSD/sssd/issue/1413

相关内容