Linux系統(tǒng)中怎么設(shè)置復(fù)雜密碼策略,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)專(zhuān)注于網(wǎng)站建設(shè),為客戶提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)開(kāi)發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類(lèi)網(wǎng)站都可以開(kāi)發(fā),品牌網(wǎng)站制作,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢(qián),價(jià)格優(yōu)惠,收費(fèi)合理。
一、準(zhǔn)備工作
安裝 PAM 的 cracklib 模塊,cracklib 能提供額外的密碼檢查能力。
Debian、Ubuntu 或 Linux Mint 系統(tǒng)上:
代碼如下:
$ sudo apt-get install libpam-cracklib
CentOS、Fedora、RHEL 系統(tǒng)已經(jīng)默認(rèn)安裝了 cracklib PAM 模塊,所以在這些系統(tǒng)上無(wú)需執(zhí)行上面的操作。
為了強(qiáng)制實(shí)施密碼策略,我們需要修改 /etc/pam.d 目錄下的 PAM 配置文件。一旦修改,策略會(huì)馬上生效。
注意:此教程中的密碼策略只對(duì)非 root 用戶有效,對(duì) root 用戶無(wú)效。
二、禁止使用舊密碼
找到同時(shí)有 “password” 和 “pam_unix.so” 字段并且附加有 “remember=5” 的那行,它表示禁止使用最近用過(guò)的5個(gè)密碼(己使用過(guò)的密碼會(huì)被保存在 /etc/security/opasswd 下面)。
Debian、Ubuntu 或 Linux Mint 系統(tǒng)上:
代碼如下:
$ sudo vi /etc/pam.d/common-password
password [success=1 default=ignore] pam_unix.so obscure sha512 remember=5
CentOS、Fedora、RHEL 系統(tǒng)上:
代碼如下:
$ sudo vi /etc/pam.d/system-auth
password sufficient pamunix.so sha512 shadow nullok tryfirstpass useauthtok remember=5
三、設(shè)置最短密碼長(zhǎng)度
找到同時(shí)有 “password” 和 “pam_cracklib.so” 字段并且附加有 “minlen=10” 的那行,它表示最小密碼長(zhǎng)度為(10 - 類(lèi)型數(shù)量)。這里的 “類(lèi)型數(shù)量” 表示不同的字符類(lèi)型數(shù)量。PAM 提供4種類(lèi)型符號(hào)作為密碼(大寫(xiě)字母、小寫(xiě)字母、數(shù)字和標(biāo)點(diǎn)符號(hào))。如果你的密碼同時(shí)用上了這4種類(lèi)型的符號(hào),并且你的 minlen 設(shè)為10,那么最短的密碼長(zhǎng)度允許是6個(gè)字符。
Debian、Ubuntu 或 Linux Mint 系統(tǒng)上:
代碼如下:
$ sudo vi /etc/pam.d/common-password
password requisite pam_cracklib.so retry=3 minlen=10 difok=3
CentOS、Fedora、RHEL 系統(tǒng)上:
代碼如下:
$ sudo vi /etc/pam.d/system-auth
password requisite pam_cracklib.so retry=3 difok=3 minlen=10
四、設(shè)置密碼復(fù)雜度
找到同時(shí)有 “password” 和 “pam_cracklib.so” 字段并且附加有 “ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1” 的那行,它表示密碼必須至少包含一個(gè)大寫(xiě)字母(ucredit),兩個(gè)小寫(xiě)字母(lcredit),一個(gè)數(shù)字(dcredit)和一個(gè)標(biāo)點(diǎn)符號(hào)(ocredit)。
Debian、Ubuntu 或 Linux Mint 系統(tǒng)上:
代碼如下:
$ sudo vi /etc/pam.d/common-password
password requisite pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1
CentOS、Fedora、RHEL 系統(tǒng)上:
代碼如下:
$ sudo vi /etc/pam.d/system-auth
password requisite pam_cracklib.so retry=3 difok=3 minlen=10 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1
五、設(shè)置密碼過(guò)期期限
編輯 /etc/login.defs 文件,可以設(shè)置當(dāng)前密碼的有效期限,具體變量如下所示:
代碼如下:
$ sudo vi /etc/login.defs
PASSMAXDAYS 150 PASSMINDAYS 0 PASSWARNAGE 7
這些設(shè)置要求用戶每6個(gè)月改變他們的密碼,并且會(huì)提前7天提醒用戶密碼快到期了。
如果你想為每個(gè)用戶設(shè)置不同的密碼期限,使用 chage 命令。下面的命令可以查看某個(gè)用戶的密碼限期:
代碼如下:
$ sudo chage -l xmodulo
Last password change : Dec 30, 2013 Password expires :
never Password inactive : never Account expires :
never Minimum number of days between password change :
0 Maximum number of days between password change :
99999 Number of days of warning before password expires : 7
默認(rèn)情況下,用戶的密碼永不過(guò)期。
下面的命令用于修改 xmodulo 用戶的密碼期限:
代碼如下:
$ sudo chage -E 6/30/2014 -m 5 -M 90 -I 30 -W 14 xmodulo
上面的命令將密碼期限設(shè)為2014年6月3日。另外,修改密碼的最短周期為5天,最長(zhǎng)周期為90天。密碼過(guò)期前14天會(huì)發(fā)送消息提醒用戶,過(guò)期后帳號(hào)會(huì)被鎖住30天。
設(shè)置完后,驗(yàn)證效果如下:
關(guān)于Linux系統(tǒng)中怎么設(shè)置復(fù)雜密碼策略問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。