我已在我们所有 20 多台 Debian 11 服务器上启用 WinAD 身份验证。我们还有少量 CentOS/Rocky 服务器正常运行。登录其中一台 Debian 计算机会导致出现以下日志:
Mar 22 07:53:06 pcap-1 sshd[1107]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=172.18.224.2 user=ross
Mar 22 07:53:06 pcap-1 sshd[1107]: pam_sss(sshd:auth): authentication success; logname= uid=0 euid=0 tty=ssh ruser= rhost=172.18.224.2 user=ross
我修改了 nsswitch.conf(在我对整个服务器进行基线配置后,生成了“sss”,如下所示,位于每行末尾,我手动将它们移到了前面)
passwd: sss files systemd
group: sss files systemd
shadow: files
gshadow: files
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: sss nis
automount: sss
我们希望在需要使用本地管理员帐户登录时 unix auth 仍然有效,但仍允许 AD 用户进入。
为什么在 sss 之前尝试 unix auth?
答案1
线索实际上就在您发布的(非常有用的)日志中:pam_unix
和pam_sss
。因此,这些日志来自 PAM 系统。
如果你仔细查看,/etc/pam.d
你会看到各种配置登录工作方式的文件,我怀疑其中许多文件pam_unix
都会出现在之前pam_sss
。
我已经很久没有玩过 PAM 了,所以我不会在这里试图给你建议,只是要提醒你,如果你在不真正理解这些文件的情况下更改这些文件,可能会导致你无法登录。
系统在 AD 之前尝试 UNIX 登录本身并没有什么问题。我不确定重新排序它们是否会带来任何实际好处,除非隐藏(无害的)消息 - 直到您尝试使用 UNIX 帐户登录,在这种情况下,您会首先收到(无害的)AD 登录失败消息。