Linux用户密码策略

用户密码策略分为密码有效期和密码复杂度:

密码有效期设置有两种方式
(1).修改 /etc/login.defs
PASS_MAX_DAYS   99999      #密码的最大有效期, 99999:永久有期
PASS_MIN_DAYS   0          #是否可修改密码,0可修改,非0多少天后可修改
PASS_MIN_LEN    5          #密码最小长度,使用pam_cracklib module,该参数不再有效
PASS_WARN_AGE   7          #密码失效前多少天在用户登录时通知用户修改密码
(2).通过chage命令修改
chage -M 10 -m 0 -W 3 root
 
区别:
chage 单独对用户进行修改,可以对root用户进行设置。
login.defs 批量修改,但是只对后续新增用户有效。例如对root不起作用
 
 
密码强度设置
修改 /etc/pam.d/system-auth
要使用pam_cracklib将注释去掉,把pam_passwdqc.so注释掉即可.
#password    requisite    pam_cracklib.so retry=3 difok=1
password    requisite     pam_passwdqc.so min=disabled,24,12,8,7 passphrase=3
password    sufficient    pam_unix.so nullok use_authtok md5 shadow
pam_cracklib.so和pam_passwdqc.so只能使用一种方式,不采用的那种得注释掉
 
pam_cracklib主要参数说明:
retry=N:重试多少次后返回密码修改错误
difok=N:新密码必需与旧密码不同的位数
dcredit=N: N >= 0:密码中最多有多少个数字;N < 0密码中最少有多少个数字.
lcredit=N:小宝字母的个数
ucredit=N大宝字母的个数
credit=N:特殊字母的个数
minclass=N:密码组成(大/小字母,数字,特殊字符)
pam_passwdqc主要参数说明:
 
mix:设置口令字最小长度,默认值是mix=disabled。
max:设置口令字的最大长度,默认值是max=40。
passphrase:设置口令短语中单词的最少个数,默认值是passphrase=3,如果为0则禁用口令短语。
atch:设置密码串的常见程序,默认值是match=4。
similar:设置当我们重设口令时,重新设置的新口令能否与旧口令相似,它可以是similar=permit允许相似或similar=deny不允许相似。
random:设置随机生成口令字的默认长度。默认值是random=42。设为0则禁止该功能。
enforce:设置约束范围,enforce=none表示只警告弱口令字,但不禁止它们使用;enforce=users将对系统上的全体非根用户实行这一限制;

enforce=everyone将对包括根用户在内的全体用户实行这一限制。
non-unix:它告诉这个模块不要使用传统的getpwnam函数调用获得用户信息,
retry:设置用户输入口令字时允许重试的次数,默认值是retry=3
注意:pam_cracklib、pam_passwdqc不一定在配置文件中有只要查到相应的库已安装,就可以使用,手动增加配置文件也行。
 
 
转自:http://blog.sina.com.cn/s/blog_6c673bfb0101ef10.html
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/zhongguiyao/p/8258896.html