用户密码策略分为密码有效期和密码复杂度:
密码有效期设置有两种方式
(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