声明:本文乃“运维家”原创,转载请注明出处,更多内容请关注公众号“运维家”。
主旨
linux服务器一般被用于生产环境,那么对于安全性要求就比较高,那么我们是不是可以通过强制限制用户在固定时间内必须要修改密码,以防被其他人暴力破解呢?
环境
linux服务器
root用户权限
PS:本文所有操作都在root用户下操作。
默认配置
当新建用户的时候,读取的配置文件 “/etc/login.defs” ,里面配置了用户的密码修改时间、过期时间、长度、告警天数等。(PS:该配置文件对root密码无效。)
PASS_MAX_DAYS 99999 # 过期时间,默认是99999,即密码永不过期
PASS_MIN_DAYS 0 # 修改间隔,默认是0,即随时可以进行修改
PASS_MIN_LEN 5 # 密码长度,默认是5,
PASS_WARN_AGE 7 # 告警天数,默认是7,即过期前7天进行提醒
需要注意的是,当我们修改完毕该配置文件之后,新建的用户会受到该配置的影响,但是已经创建过的用户,是不受该配置文件的影响的,那么我们该如何进行控制呢,这个时候我们可以通过chage命令来进行配置。
命令介绍
在此处我们主要使用的命令是chage命令,他可以控制密码的最长和最短时限,以及有关密码的其他操作;
[root@localhost ~]$ 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 警告天数 将过期警告天数设为“警告天数”
[yunweijia@localhost ~]$
1、查看相关用户的密码信息;
[root@localhost ~]# chage -l yunweijia
最近一次密码修改时间 :1月 30, 2022
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
[root@localhost ~]#
使用“-l”后面加上用户名,可以很清晰的看到指定用户的密码时效等信息;
2、修改用户过期时间为5天后;
[root@localhost ~]# chage -M 5 yunweijia
[root@localhost ~]# chage -l yunweijia
最近一次密码修改时间 :1月 30, 2022
密码过期时间 :2月 04, 2022
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :5 # 可以看到密码5天后必须修改
在密码过期之前警告的天数 :7
[root@localhost ~]#
用yunweijia账号,登录上去进行验证一下;
3、配置用户登录时必须修改密码;
[root@localhost ~]# chage -d 0 yunweijia
[root@localhost ~]# chage -l yunweijia
最近一次密码修改时间 :密码必须更改
密码过期时间 :密码必须更改
密码失效时间 :密码必须更改
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :5
在密码过期之前警告的天数 :7
[root@localhost ~]#
用yunweijia账号,登录上去进行验证一下;
4、一步到位配置;
# 配置yunweijia下次登录必须修改密码,最短修改时间为0,最长30天必须修改密码,提前5天发报警提示。
[root@localhost ~]# chage -d 0 -m 0 -M 30 -W 5 yunweijia
至此,控制用户密码失效时间结束。