pam 身份验证失败,但 sudo 和 ssh 可以工作

pam 身份验证失败,但 sudo 和 ssh 可以工作

我对 pam 缺乏经验,所以如果这是一个明显的问题或者我给出了错误的信息,请原谅我。

我有一台 gentoo 服务器,我没有配置。它通过 kerberos 进行身份验证。问题是,有人可以使用错误的密码登录此服务器,甚至可以执行sudo。日志如下所示:

500 Jul 01 20:22:25 [sshd] pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=myhost  user=roessler
501 Jul 01 20:22:25 [sshd] pam_krb5(sshd:auth): authentication failure; logname=roessler uid=0 euid=0 tty=ssh ruser= rhost=myhost
502 Jul 01 20:22:25 [sshd] Accepted keyboard-interactive/pam for roessler from <my-IP> port <my-Port> ssh2
503 Jul 01 20:22:25 [sshd] pam_unix(sshd:session): session opened for user roessler by (uid=0)
504 Jul 01 20:22:35 [sudo] pam_unix(sudo:auth): authentication failure; logname=roessler uid=0 euid=0 tty=/dev/pts/0 ruser=roessler rhost=  user=roessler
505 Jul 01 20:22:35 [sudo] pam_krb5(sudo:auth): authentication failure; logname=roessler uid=0 euid=0 tty=/dev/pts/0 ruser=roessler rhost=
506 Jul 01 20:22:35 [sudo] roessler : TTY=pts/0 ; PWD=/home/roessler ; USER=root ; COMMAND=/bin/su
507 Jul 01 20:22:35 [sudo] pam_unix(sudo:session): session opened for user root by roessler(uid=0)
508 Jul 01 20:22:35 [su] Successful su for root by root

我查看了相应的 pam 配置文件。它们互相指向,但最终归结为:

1 auth            required        pam_tally2.so onerr=succeed
2 auth            required        pam_shells.so
3 auth            required        pam_nologin.so
4 auth            include         system-auth

和 (系统认证)

1 auth            required        pam_env.so
2 auth            required        pam_listfile.so onerr=fail item=group sense=allow file=/etc/login.group.allowed
3 auth            sufficient      pam_unix.so try_first_pass likeauth nullok
4 auth            sufficient      pam_krb5.so use_first_pass debug
5 auth            optional        pam_permit.so

对我来说,该配置的第一行看起来很可疑,但另一台具有相同配置的服务器却运行正常。这甚至让我怀疑我是否在寻找正确的方向……

我很感激任何提示!

答案1

您说有另一台具有相同配置的服务器运行良好……但您的身份验证使得不正确的 unix 和 krb5 密码落入 pam_permit 中,而 pam_permit 总是返回 PAM_SUCCESS。这很糟糕。它应该是 pam_permit,而不是

auth        required      pam_deny.so

相关内容