
今天,我嘗試使用 passwd 更改實驗室伺服器(SUSE)上的密碼,並收到錯誤訊息,指出我的密碼“基於字典單字”,但事實並非如此。我想更改和調整設定密碼的這些約束和限制(我是管理員),並且想知道如何做到這一點?
更新:在我的 /etc/security/pam_pwcheck.conf 中找到這一行:
password: nullok use_cracklib
有什麼辦法可以使它只是警告這一點而不是阻止我設定密碼?
更新 2:也在 /etc/pam.d/common-password 中發現了這一點:
password required pam_pwcheck.so nullok
password required pam_unix2.so nullok use_authtok
如果我刪除 use_cracklib 參數,我就會刪除該檢查。我嘗試添加:
password optional pam_cracklib.so
但這沒有幫助。我已經禁用了 crashlib 功能,但現在我什至沒有收到警告。
更新3:
試過這個(/etc/pam.d/common-password):
password optional pam_pwcheck.so nullok
password required pam_unix2.so nullok use_authtok
和(/etc/security/pam_pwcheck.conf):
password: use_cracklib nullok
然而,這並沒有達到預期的效果,我仍然不能忽略這個警告。
答案1
使用password optional pam_cracklib.so
不會對你有幫助。你需要password optional pam_pwcheck.so
在那裡放一個,這樣它實際上就會產生一些效果。如果它後面跟著一行pam_unix.so
,它應該按照你想要的方式工作。
答案2
嗯,這取決於系統身份驗證配置。您執行的是哪個版本的 SuSE?
在我的 SuSE (10.1) 上,身份驗證是透過 PAM 處理的,就像幾乎所有現代 Linux 發行版一樣。在那裡,身份驗證是透過 /etc/pam.d/ 中的檔案配置的。
每個“服務”有一個文件。您對 /etc/pam.d/passwd 感興趣,它在我的系統上引用(透過包括公共密碼)PAM 模組pam_pwcheck
。這是執行密碼法規的模組。請參閱man pam_pwcheck
如何配置它。
如果您有不同的 PAM 配置,您可能會使用不同的機制,但基本概念是相同的。
答案3
來自 passwd 手冊頁:
然後,測試密碼的複雜度。作為一般準則,密碼應包含 6 到 8 個字符,其中包括以下每一組中的一個或多個字符: · 小寫字母 · 數字 0 到 9 · 標點符號
在 Sun Solaris 上,可以透過 /etc/defaults/passwd [1] 控制該行為。
另外,在我的 Debian 系統上有一個 /etc/login.defs 文件,它可以有 PASS_MIN_LEN 選項,儘管 login.defs 文件的手冊說它不再被 passwd 使用並指向 /etc/pam.d/passwd。
我不知道透過 /etc/pam.d/passwd 來配置此行為的方法。