Security

避免更改密碼時出現“身份驗證令牌操作錯誤”

  • December 3, 2016

我正在實施一項安全策略,該策略將強制使用者在更改自己的密碼時引入更嚴格的密碼:

配置/etc/pam.d/passwd文件是:

#%PAM-1.0
auth     include    common-auth
account  include    common-account
password include    common-password
session  include    common-session

所以,我在這個文件中進行了更改/etc/pam.d/common-password

預設common-password文件帶有這兩行:

password    requisite   pam_pwcheck.so  nullok cracklib
password    required    pam_unix2.so    use_authtok nullok

我需要向 pam_pwcheck(沒問題)和另一個 PAM 模組(pam_cracklib)添加幾個選項以使密碼更強大。接下來,這是我的最終/etc/pam.d/common-password文件,包括passwd

password  requisite  pam_cracklib.so minclass=3 retry=3
password  requisite  pam_pwcheck.so  nullok cracklib minlen=10 remember=5
password  required   pam_unix2.so    use_authtok nullok

當我配置了兩個 PAM 模組時會出現我的問題:如果我輸入了正確的密碼,它就可以正常工作。如果我引入了一個必須被拒絕的錯誤密碼pam_cracklib(例如,只有小寫字母的密碼),它可以正常工作(拒絕密碼沒有問題)。

但是當我引入一個有效cracklib但不適用pwcheck的密碼(大寫、小寫和 7 個字元長度的數字的密碼)時,它會拒絕密碼,但會顯示此錯誤:

Bad password: too short    
passwd: Authentication token manipulation error

因此,pam_pwcheck列印它的錯誤消息 ( Bad password: too short),但是 PAM 鏈發生了一些不好的事情。

你知道我的配置有什麼問題嗎?

PS“安全”要求根本不是我的,所以請避免評論它;-)。

我終於讓它工作了,只是顛倒了前兩個模組的順序:

password  requisite  pam_pwcheck.so  nullok cracklib minlen=10 remember=5
password  requisite  pam_cracklib.so minclass=3 retry=3
password  required   pam_unix2.so    use_authtok nullok

現在,我面臨另一個錯誤,但我會在另一個問題中問它。

嘗試像這樣為文件重組 PAM 鏈/etc/pam.d/common-password

password required pam_pwcheck.so
password required pam_cracklib.so use_authtok minlen=10 retry=3 minclass=3
password required pam_pwcheck.so remember=5 use_authtok use_first_pass
password required pam_unix2.so nullok use_authtok use_first_pass

我找到了上面的內容,並從這個 Novell 文件中稍微修改了它,標題為:using pam_pwcheck and pam_cracklib at the same time

此外,我將這些用作資源:

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