Security
避免更改密碼時出現“身份驗證令牌操作錯誤”
我正在實施一項安全策略,該策略將強制使用者在更改自己的密碼時引入更嚴格的密碼:
配置
/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。
此外,我將這些用作資源: