Password

在 PAM 中設置使用者特定的密碼散列輪次

  • March 18, 2016

/etc/pam.d/common-password我們有這樣一行:

password [success=1 default=ignore] pam_unix.so sha512 rounds=200000

這意味著,每當有人設置密碼時,都要使用 200,000 輪 SHA-512 對其進行雜湊處理。這種固有的慢散列通過限制可以測試密碼的速度來防止字典和暴力攻擊。

對於某些帳戶,我們可能希望更好地保護密碼,但代價是散列速度較慢。比如說,500,000 輪用於管理員帳戶,800,000 輪用於root. 但是我還沒有找到任何方法來在 PAM 中指定這樣的每使用者或每組策略。這可以做到嗎?

pam_succeed_if您可以通過該模組指定每個使用者或每個組的策略。使用“goto”操作(即一個整數而不是ok,ignore等)跳過password某些使用者的設置。

password [success=1] pam_succeed_if user ne 0
# Setting for root
password [success=1] pam_unix.so sha512 rounds=800000
# Setting for non-root
password [success=ok] pam_unix.so sha512 rounds=200000

(警告:未經測試,我不熟悉 PAM。)

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