Centos

由於 PAM,Cron 作業已停止工作

  • July 18, 2019

我的 cron 作業已停止在我的 CentOS 7 伺服器上執行。伺服器正在執行 WHM/cPanel。

這似乎是 PAM 服務的問題,因為在 /var/log/secure 中,當 cron 作業嘗試執行時,我可以看到以下錯誤:

Jun 24 10:45:01 server1 crond[22400]: pam_access(crond:account): auth could not identify password for [root]
Jun 24 10:45:01 server1 crond[22404]: pam_access(crond:account): auth could not identify password for [admin]
Jun 24 10:45:01 server1 crond[22400]: pam_localuser(crond:account): auth could not identify password for [root]
Jun 24 10:45:01 server1 crond[22402]: pam_access(crond:account): auth could not identify password for [root]
Jun 24 10:45:01 server1 crond[22405]: pam_access(crond:account): auth could not identify password for [admin]
Jun 24 10:45:01 server1 crond[22400]: pam_localuser(crond:account): auth could not identify password for [root]

同樣 /var/log/cron.log 顯示 PAM 失敗:

Jun 24 12:40:01 server1 crond[26129]: (admin) PAM ERROR (Authentication information cannot be recovered)
Jun 24 12:40:01 server1 crond[26129]: (admin) FAILED to authorize user with PAM (Authentication information cannot be recovered)
Jun 24 12:40:01 server1 crond[26130]: (admin) PAM ERROR (Authentication information cannot be recovered)
Jun 24 12:40:01 server1 crond[26130]: (admin) FAILED to authorize user with PAM (Authentication information cannot be recovered)
Jun 24 12:40:01 server1 crond[26125]: (root) PAM ERROR (Authentication information cannot be recovered)
Jun 24 12:40:01 server1 crond[26125]: (root) FAILED to authorize user with PAM (Authentication information cannot be recovered)
Jun 24 12:40:01 server1 crond[26127]: (root) PAM ERROR (Authentication information cannot be recovered)
Jun 24 12:40:01 server1 crond[26127]: (root) FAILED to authorize user with PAM (Authentication information cannot be recovered)
Jun 24 12:40:01 server1 crond[26131]: (admin) PAM ERROR (Authentication information cannot be recovered)
Jun 24 12:40:01 server1 crond[26131]: (admin) FAILED to authorize user with PAM (Authentication information cannot be recovered)

我嘗試了以下但沒有成功:

  • 重新啟動伺服器
  • 重啟 cron 服務
  • 編輯 /etc/security/access.conf 以確保允許 root 訪問 cron
  • cron.allow 不存在並且 cron.deny 是空的,所以這不應該是問題
  • 禁用 SELinux 並重新啟動
  • 更改root密碼以確保它不是過期問題
  • 檢查 /etc/passwd 和 /etc/shadow 的 root 和 admin 使用者的密碼
  • 刪除了所有 cron 作業,除了一個簡單的每分鐘寫入文本文件的作業。這個 cron 作業也不起作用,因此它與 cron 中的作業無關。

請幫忙,因為我不確定還有什麼辦法可以解決這個問題。值得注意的是,這個問題從 6 月 21 日開始,並且在它開始發生時沒有對伺服器進行任何更改。

我能夠解決這個問題。它與一個名為**/lib/libgrubd.so**的文件有關。

如果您遇到此問題,請檢查**/etc/ld.so.preload**。如果此文件包含**/lib/libgrubd.so**(它可能是該文件中的唯一行),則刪除該行,PAM 應重新開始工作。我還從系統中刪除了**/lib/libgrubd.so**文件,因為它可能與病毒相關,如此處所示

仍然不完全確定導致問題的原因,但這就是導致 PAM 無法正常執行的原因。在此處查看更多資訊。

引用自:https://unix.stackexchange.com/questions/526617