Linux 密碼複雜度限制

2022-07-30 07:51:18 字數 1319 閱讀 7414

設定乙個複雜的密碼,可以有效的提公升系統的安全性。在linux上有pam(pluggable authentication modules)裡面有乙個pam_cracklib.so來控制密碼的複雜度。

centos / rhel / redhat / fedora : /etc/pam.d/system-auth

pam_cracklib.so中有很多引數可以選擇,具體配置如下:

debug : 此選為記錄syslog日誌。

type=safe : 輸入新密碼的時候給予的提示。

retry=n : 改變輸入密碼的次數,預設值是1。就是說,如果使用者輸入的密碼強度不夠就退出。可以使用這個選項設定輸入的次數,以免一切都從頭再來。

difok=n : 預設值為8。這個引數設定允許的新、舊密碼相同字元的個數。

difignore=n : 多少個字元的密碼應收到difok將被忽略。預設為23

minlen=n : 新的最低可接受的大小密碼。除了在新密碼的字元數。此引數的預設值是9,它是乙個老式的unix密碼的字元相同型別的所有好,但可能過低,利用乙個md5的系統增加安全性。

dcredit=n : 限制新密碼中至少有多少個數字。

ucredit=n : 限制新密碼中至少有多少個大寫字元。

lcredit=n : 限制新密碼中至少有多少個小寫字元。

ocredit=n : 限制新密碼中至少有多少個其它的字元。此引數用於強制模組不提示使用者的新密碼,但以前使用的堆疊模組提供的密碼之一。

dictpath=/data/dict :密碼字典,這個是驗證使用者的密碼是否是字典一部分的關鍵

cracklib密碼強度檢測過程:

1、首先檢查密碼是否是字典的一部分,如果不是,則進行下面的檢查

2、密碼強度檢測過程

3、新密碼是否舊密碼的回文

4、新密碼是否只是就密碼改變了大小寫

5、新密碼是否和舊密碼很相似

6、新密碼是否太短

7、新密碼的字元是否是舊密碼字元的乙個迴圈 例如舊密碼:123 新密碼:231

8、這個密碼以前是否使用過。

例子password required pam_cracklib.so difok=3 minlen=15 dcredit=2 ocredit=2

允許有3個新、舊密碼相同字元的、最小長度15位 和至少包含2數字、至少包含2個特殊字元數

password required pam_cracklib.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0 minlen=8 enforce_for_root

最小長度為8和至少1位數字,1位大寫字母,和另外1個字元的密碼,此設定對root生效

linux下設定密碼複雜度限制,怎麼設定

在linux,設定密碼複雜度的方法有幾個 1.乙個是在 etc login.defs檔案,裡面幾個選項 pass max days 90 密碼最長過期天數 pass min days 80 密碼最小過期天數 pass min len 10 密碼最小長度 pass warn age 7 密碼過期警告天...

python驗證密碼複雜度 密碼複雜度檢測演算法

密碼規則 可以輸入數字和字母 大寫 小寫 組合,長度6 10位 字串複雜度計算流程 1.計算字元種類數量 字元種類有數字 大寫字母 小寫字母 2.計算字元差異數量 區分大寫字母和小寫字母,重複的字元不計算在內 3.根據字元種類數量和字元差異數量計算複雜度 下面是偽 var level 1 簡單 2 ...

MYSQL設定密碼複雜度

mysql5.6.6版本之後增加了密碼強度驗證外掛程式validate password,相關引數設定的較為嚴格。使用了該外掛程式會檢查設定的密碼是否符合當前設定的強度規則,若不滿足則拒絕設定。在 mysql安裝目錄中,mysql server 8.0 lib plugin 可以看到預設存在vali...