我在使用PAM時遇到了一些麻煩。我有一個使用PAM進行身份驗證的tomcat webapp。在安裝過程中,我們在/etc/pam.d/sshd文件中將/etc/pam.d中的符號鏈接。這一直工作。PAM「pam_unix.so」身份驗證有時會失敗
最近我添加了一種方式讓用戶驗證每個請求(而不是使用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]
如何調試這個furthe R'我試過了:
- 使用不同的主機。其中之一是一個全新的安裝
- 我已經關掉了NSCD服務
最終我得出結論說我的PAM配置很好。我發現的解決方案是通過核心身份驗證系統(這是一個Seam應用程序,因此存在一個奇怪的間接尋址)而不是直接調用身份驗證功能(即直接調用libpam.jar)的身份驗證路由。我不確定這是爲什麼起作用,但它確實如此。 – mlathe 2013-06-12 18:07:24