我在使用 PAM 时遇到了一些问题。我有一个使用 PAM 进行身份验证的 tomcat webapp。在安装过程中,我们在 /etc/pam.d 中创建一个指向 /etc/pam.d/sshd 文件的符号链接。这一直有效。
最近我为用户添加了一种对每个请求进行身份验证的方法(而不是使用 JSESSIONID cookie)。添加此功能是因为我们需要定期将一些数据批量加载到监控应用程序中,并且使用 Basic Auth 很容易。
如果我反复卷曲我的 web 服务(比如每秒 10 次),那么每隔一段时间 PAM 就会失败。这种情况大约每 500 次发生一次,尽管我的客户声称它每两次发生一次(请注意,它们是远程运行的,尽管我不明白为什么这很重要)。
我已将我的符号链接 pam 配置替换为以下最小配置:
#%PAM-1.0
auth sufficient pam_unix.so audit
auth required pam_deny.so
我也将此添加到我的 /etc/syslog.conf
*.debug /var/log/debug.log
可以在 debug.log 中找到唯一适用的日志消息:
Mar 12 09:49:32 arques java: pam_unix(foo:auth): unable to obtain a password
Mar 12 09:49:32 arques java: pam_unix(foo:auth): auth could not identify password for [root]
我该如何进一步调试?我努力了:
- 使用不同的主机。一个是全新的安装
- 我已经关闭了 nscd 服务