PAM SSSD 允许本地用户

use*_*045 5 linux ssh pam

我有一个带 PAM 的默认 SSSD 配置。我可以作为任何 LDAP 用户正常登录。但是,当我在服务器上创建本地用户时:

adduser test1
passwd test1
Run Code Online (Sandbox Code Playgroud)

然后尝试以该用户身份登录我收到以下错误:

pam_sss(sshd:account): Access denied for user test1: 10 (User not known to the underlying authentication module)
Run Code Online (Sandbox Code Playgroud)

我的/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
Run Code Online (Sandbox Code Playgroud)

现在files被列为替代方案nsswitch.conf,但它似乎没有查看要验证的文件。

当 SSSD 是我的身份验证模块时,如何允许以本地用户身份登录?

小智 1

听起来很奇怪。您应该查看您的 pam 配置,以 account 开头的行。我想只有 pam_sss但没有pam_unix

找到正确的 pam 文件可能很棘手,具体取决于您使用的发行版。

对于基于 RHEL 的系统和 SSH,它是/etc/pam.d/password-auth