linux上查看用户上次密码修改时间 以及 设置用户账户永不过期

linux上查看用户上次密码修改时间 以及 设置用户账户永不过期

1、linux查看上次修改密码时间

方式1 查看用户上次修改密码时间(略微复杂);

cat /etc/shadow|grep yin
yin:sagoagnangaoigagnaga:19534:0:99999:7:::
第三段字符就是最近一次密码修改的天数,此数字是距离1970年1月1日的天数
使用这个命令查看哪天修改密码
date -u -d "1970-01-01 UTC $((19534 * 86400 )) seconds"
Mon Jun 26 00:00:00 UTC 2023  #结果显示2023.06.26

实例:
#新建用户ctgredis
[root@local ~]# useradd ctgredis
[root@local ~]# yum -y install apg >/dev/null	#安装强密码生成工具,不想装的可以用:openssl rand -base64 6
[root@local ~]# apg -M SNCL -m 8 -x 9	#{S特殊字符,N数字,C大写字母,L小写字母},-m 最小长度为8个字符,-x 最大长度为9个字符;
~TwirHiv1
9NevTyg+
1owcafEk*
/Shleun7
sles7Od&
4TwePras_
[root@local ~]# echo "sles7Od&"|passwd --stdin ctgredis	#非交互式设置密码,交互式使用passwd回车然后输入密码即可;
更改用户 ctgredis 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@local ~]# 
[root@local ~]# grep ctgredis /etc/shadow
ctgredis:$6$YdcQUScZ$pymQWRWceZX7RR.EkXzsboGwGVzjc8bX06QBk47TXbRVJrj/.7OrFOf5o8Ma3bmwZa53tRdO3hygQQ2PHVTma0:19909:0:99999:7:::
#查看上回修改时间,显示格式如下
[root@local ~]# date -u -d "1970-01-01 UTC $((19909 * 86400 )) seconds"
2024年 07月 05日 星期五 00:00:00 UTC
[root@local ~]# date +%F -u -d "1970-01-01 UTC $((19909 * 86400 )) seconds"
2024-07-05
[root@local ~]# date '+%Y/%m/%d' -u -d "1970-01-01 UTC $((19909 * 86400 )) seconds"
2024/07/05
#想一次查看的,输入下方非交互式
[root@local ~]# for i in `grep ctgredis /etc/shadow|awk -F ':' '{print $3}'`;do date -u -d "1970-01-01 UTC $(($i * 86400 )) seconds";done
2024年 07月 05日 星期五 00:00:00 UTC

方式2 查看密码上回修改时间(简单):

[root@local ~]# chage -l ctgredis
最近一次密码修改时间			 :7月 05, 2024	#最近密码修改时间
密码过期时间					:从不
密码失效时间					:从不
帐户过期时间					:从不
两次改变密码之间相距的最小天数	  :0
两次改变密码之间相距的最大天数	  :99999
在密码过期之前警告的天数		:7

2、设置用户账户永不过期

需要注意的是,密码和账户两个都需永不过期,加上一个密码失效就是三个从不代表密码永不过期;

我自己的新建用户之后默认是 never 从不,如下;
[root@local ~]# chage -l ctgredis
最近一次密码修改时间			 :7月 05, 2024	
密码过期时间					:从不
密码失效时间					:从不
帐户过期时间					:从不
两次改变密码之间相距的最小天数	  :0
两次改变密码之间相距的最大天数	  :99999
在密码过期之前警告的天数		:7

#先修改为有过期时间的,再设置为永不过期;
[root@local ~]# chage -m 0 -M 30 -I -1 -E 19999 ctgredis	#修改成非nerver
[root@local ~]# chage -l ctgredis
最近一次密码修改时间			 :7月 05, 2024		
密码过期时间					:8月 04, 2024	#密码在2024/08/04过期;
密码失效时间					:从不			   #密码失效默认是从不,最好保持,否则密码过期,有你哭的;
帐户过期时间					:10月 03, 2024	#账户过期,这个跟密码过期都设置 从不;
两次改变密码之间相距的最小天数	  :0
两次改变密码之间相距的最大天数	  :30			   #密码30天就要改密码;
在密码过期之前警告的天数		:7				 #密码过期前7天警告用户;

#修改用户永不过期:
[root@local ~]# chage -m 0 -M 99999 -I -1 -E -1 -W 14 ctgredis
[root@local ~]# chage -l ctgredis
最近一次密码修改时间			 :7月 05, 2024
密码过期时间					:从不
密码失效时间					:从不
帐户过期时间					:从不
两次改变密码之间相距的最小天数	  :0
两次改变密码之间相距的最大天数   :99999
在密码过期之前警告的天数		:14

# -m 0: 设置密码最小存活期为0天,这意味着用户可以在任何时候更改他们的密码;
# -M 99999: 设置密码最长存活期为99999天,大约274年,这几乎不可能达到这么长的天数,所有默认就是nerver 从不过期了;
# I -1: 设置密码过期后账号被锁定前的天数为-1,密码过期后账号不会被锁定。
# -E -1: 设置账号的过期日期为-1,账号永不过期。
# -W 14: 设置密码过期前的警告天数为14天,这意味着在密码即将过期前14天,系统会开始提醒用户更换密码。

每一项都可单独使用:譬如:
[root@local ~]# chage -W 999 ctgredis
[root@local ~]# chage -l ctgredis
最近一次密码修改时间			 :7月 05, 2024
密码过期时间					:从不
密码失效时间					:从不
帐户过期时间					:从不
两次改变密码之间相距的最小天数	  :0
两次改变密码之间相距的最大天数	  :99999
在密码过期之前警告的天数		:999		#此项被修改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值