Linux

密碼安全升級後使用者無法使用crontab

  • February 8, 2017

我有一個機器正在從 CentOS 5 升級到 CentOS 6。在原始伺服器上,所有使用者都有 MD5 密碼。升級後的伺服器現在使用 SHA-512 密碼。

升級後修改密碼且輸入SHA-512密碼的使用者/etc/shadow可以使用crontab成功,但未修改密碼且MD5舊密碼的使用者無法使用crontab。他們收到的錯誤資訊是:

Authentication service cannot retrieve authentication info
You (_username_) are not allowed to access to (crontab) because of pam configuration.

我已經看過/etc/pam.d/system-auth你也可以),但我不確定要調整什麼以允許尚未更改密碼的使用者訪問 crontab。

我很清楚我可以強制每個人使用 更改密碼chage -d 0,更改密碼的使用者將重新獲得對 crontab 的訪問權限(以及其他任何可能被破壞的內容),但我有一些使用者需要在他們之前編輯他們的 crontab下一次登錄,並crontab -e -u _username_以 root 身份使用也會失敗,並出現與上述完全相同的錯誤。

奇怪的是,這個問題並沒有出現在我的開發箱上。在部署之前,我在暫存箱上遇到了這個問題。使用舊 MD5 密碼的開發盒上的使用者可以正常訪問 crontab,並且/etc/pam.d/system-auth是相同的。除了 IP 地址之外,dev 和 staging 盒應該是相同的。我懷疑我錯過了一些非常明顯和愚蠢的東西……

所以我的問題是,如何為尚未更改密碼並經過 SHA-512 雜湊處理的使用者啟用對 crontab 的訪問?或者,我該如何解決這個問題?

發布問題後,我設法解決了這個問題。

事實證明,/etc/shadow受影響的 MD5 密碼使用者的條目在雜湊密碼重複後不知何故具有該欄位,導致 PAM 無法解釋該行。換句話說,一個糟糕的剪切和粘貼工作。

我沒喝夠咖啡…

我也遇到了這個問題,結果發現 /etc/shadow 沒有該使用者的條目。使用 pwck 添加使用者,問題就解決了。

引用自:https://serverfault.com/questions/408331