我有一个带有 PAM 的默认 SSSD 配置。我可以以任何 LDAP 用户身份正常登录。但是,当我在服务器上创建本地用户时:
adduser test1
passwd test1
然后尝试以该用户身份登录,出现以下错误:
pam_sss(sshd:account): Access denied for user test1: 10 (User not known to the underlying authentication module)
我的/etc/nsswitch.conf
是这样的:
passwd: files sss
shadow: files sss
group: files sss
#hosts: db files nisplus nis dns
hosts: files dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files sss
netgroup: files sss
publickey: nisplus
automount: files ldap
aliases: files nisplus
sudoers: files sss
现在files
被列为替代方案,nsswitch.conf
但它似乎没有查看要验证的文件。
当 SSSD 作为我的身份验证模块时,如何允许以本地用户身份登录?
答案1
身份验证、密码更改和访问控制故障排除 为了使身份验证成功,必须首先准确提供用户信息。在调试身份验证之前,请确保用户信息可以使用getent passwd $user
或解析id $user
。无法检索用户信息也会显示在安全日志或日志中,消息如下:
pam_sss(sshd:account): Access denied for user admin: 10 (User not known to the underlying authentication module)
答案2
听起来很奇怪。您应该查看 pam 配置中以 account 开头的行。我想只有
pam_sss
但没有pam_unix
。
找到正确的 pam 文件可能很棘手,取决于您使用的发行版。
对于基于 RHEL 的系统和 SSH/etc/pam.d/password-auth
答案3
当我收到此错误时,问题最终在于辅助身份验证(在我的情况下是 yubikey)应该在 /etc/pam.d/common-auth 中的 unix 身份验证之前列出,但我把它放在了最后。可能不适用于您的情况,但值得检查
答案4
当我退出并重新加入 AD 节点时遇到了这个问题。
生成的 sssd.conf 中有此行 access_provider = simple
正确的配置是 access_provider = ad