隨着linux系統使用的普遍性,對linux用戶及系統安全要求也隨之提升,單純從單位制度,用戶安全意識上來規范,並不能杜絕弱口令,必須從技術上要求用戶定時修改復雜的密碼,從而提高用戶和系統的安全性。
密碼策略的2個基本
一個密碼最長使用期限,另一個是密碼復雜度;這兩個分別是/etc/login.defs 和/etc/pam.d/system-auth來控制。
1. vi /etc/login.defs
PASS_MAX_DAYS 90 #密碼最長使用期限 PASS_MIN_DAYS 5 #密碼最短使用期限 PASS_MIN_LEN 8 #密碼最短長度 PASS_WARN_AGE 10 #多少天前提醒修改密碼
2. /etc/login.defs 和/etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=5 type= #控制密碼復雜度
配置文件中pam_cracklib.so用於密碼檢查,在不做任何修改前,pam_cracklib.so能做簡單的短密碼,字典密碼檢查,但是這種要求遠遠達不到密碼口令復雜度要求,還需要做其他額外的配置,system-auth修改后立即生效。而且這一行不能被注釋掉,注釋掉操作系統上的任何用戶都不能修改密碼,一旦修改密碼就會提示:passwd: Authentication token manipulation error。
修改密碼策略復雜度:至少大寫一個,小寫一個,數字一個,特殊字符一個,密碼長度9位以上。
#password requisite pam_cracklib.so try_first_pass retry=3 type= password requisite pam_cracklib.so try_first_pass retry=5 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=8 remember=5 #修改后
字段解釋:
retry=5 定義登錄、或修改密碼失敗后,可以重復的次數
type= 選項,定義用戶修改密碼時的提示內容,一般不管
dcredit=-1 至少一個數字
lcredit=-1 至少一個小寫
ucredit=-1 至少一個大寫
ocredit=-1 至少一個特殊字符
minlen=8 密碼最短長度為5位
remember=5 不能重復使用前5次使用過的密碼
有時會看見dcredit=3,這種后面是正數,正數代表的是至多有3個數字。