随着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个数字。
原文地址:https://www.cnblogs.com/joechu/p/10859407.html