我们有一个自定义 pam 模块,用于在 linux 之外验证我们自己的用户。我们已使用 sshd 和 login pam 文件注册了该模块。sshd 工作正常,但出于某种原因,当我尝试使用我们现有的用户之一进行本地控制台登录时,如果输入错误的密码,它仍然允许登录继续。我可以从日志中看到,由于密码错误,我正确地验证失败,就像我通过 ssh 进行验证时一样,但登录案例似乎忽略了它。我很好奇我的配置设置是否错误。以下是 /etc/pamd/login 的样子(我们的 pam 模块是 custom_pam.so):
#%PAM-1.0
auth sufficient custom_pam.so
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth substack system-auth
auth include postlogin
account sufficient custom_pam.so
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include system-auth
session include postlogin
-session optional pam_ck_connector.so
这有什么明显的问题吗?或者有没有什么方法可以打开 pam 操作的详细日志记录,以便查看从哪里获得成功登录?我测试了 root,结果由于密码错误而失败了。