1、密码过期策略
# vim /etc/login.defs
PASS_MAX_DAYS 99999
# 一个密码最长可以使用的天数;
PASS_MIN_DAYS 0
# 更换密码的最小天数;
PASS_MIN_LEN 5
# 密码的最小长度;
PASS_WARN_AGE 7
# 密码失效前提前多少天数开始警告;
2、PASS_MIN_LEN 5
# 该配置不会生效,需要在/etc/pam.d/system-auth配置文件中添加minlen=13(密码最小长度为12)密码长度策略
# password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=13 authtok_type=
3、说明
# /etc/login.defs和/etc/pam.d/system-auth配置文件修改后对之前创建的用户不生效,对以后创建的用户生效。
# 对之前创建的用户修改密码过期策略的可以使用chage命令,参数如下:
# chage --help
用法:chage [选项] 登录
选项:
-d, --lastday 最近日期 将最近一次密码设置时间设为“最近日期”
-E, --expiredate 过期日期 将帐户过期时间设为“过期日期”
-h, --help 显示此帮助信息并推出
-I, --inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态
-l, --list 显示帐户年龄信息
-m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小天数”
-M, --maxdays 最大天数 将两次改变密码之间相距的最大天数设为“最大天数”
-R, --root CHROOT_DIR chroot 到的目录
-W, --warndays 警告天数 将过期警告天数设为“警告天数”
# 密码过期后,登录linux需要输旧密码并强制更新密码
# 使用root用户为普通用户更新密码时可以不遵守密码最小长度的策略,但是普通用户更新自身密码时会遵循。
4 示例
(1) root用户密码默认过期策略
# chage -l root
最近一次密码修改时间 :从不
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
(2) 更改密码过期策略后,新建test用户,test用户的密码过期策略
1) 修改/etc/login.defs配置文件
# vim /etc/login.defs
PASS_MAX_DAYS 42
PASS_MIN_DAYS 0
PASS_MIN_LEN 12
PASS_WARN_AGE 30
2) 修改/etc/pam.d/system-auth配置文件
# vim /etc/pam.d/system-auth
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=13 authtok_type=
3) 创建test用户并查看密码过期策略
# useradd test
# echo "Linux@2020" | passwd --stdin test
更改用户 test 的密码 。
passwd:所有的身份验证令牌已经成功更新。
# chage -l test
最近一次密码修改时间 :10月 13, 2020
密码过期时间 :11月 24, 2020
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :42
在密码过期之前警告的天数 :30
# su - test
上一次登录:二 10月 13 16:00:26 CST 2020pts/0 上
$ passwd
更改用户 test 的密码 。
为 test 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
无效的密码: 密码少于 12 个字符
新的 密码:
无效的密码: 密码少于 12 个字符
新的 密码:
无效的密码: 密码少于 12 个字符
passwd: 已经超出服务重试的最多次数
$