1、列出所有UID小于500的账户,并显示每个账户的状态信息,其中包括账户是否被锁定
sudo awk -F: '($3 < 500) {print $1}' /etc/passwd | xargs -n1 sudo passwd -S
如果密码被锁定,就会显示 "Password locked";
如果密码是通过SHA512加密的,则显示 "Password set, SHA512 crypt."。
2、查看用户账户的密码状态,比如密码是否被锁定、密码最后修改日期等
sudo passwd -S 用户名
#sudo passwd -S myuser
#myuser PS 2023-12-28 0 -1 30 -1 (Password set, SHA512 crypt.)
#根据输出结果,用户 myuser 的密码已经设置,并且采用了SHA512加密,密码设置日期是 2023 年 12 月 28 日。
3、解锁账户并设置密码不过期
pam_tally2 --user 用户名 --reset #清空登陆失败次数
chage -m 0 -M -1 -E -1 用户名 #取消用户密码期限限制
sudo passwd -u 用户名 #解锁账号
sudo gpasswd -a 用户名 wheel #添加用户到wheel组
sudo vi /etc/sudoers #编辑
%wheel ALL=(ALL) ALL
用户名 ALL=(ALL) ALL
:wq! #保存退出
4、锁定账户(小写字母h后面 "l" j前面)
passwd -l 用户名
5、查看指定用户名账户的详细密码策略信息,包括密码过期时间、密码最小使用期限、密码最大使用期限等
chage -l 用户名
#备注
如果配置了安全策略 pam_tally.so或pam_tally2.so 对多次登陆失败的用户进行锁定,当用户超过登陆登陆失败的次数时,账户将被自动锁定直到符合策略解锁时间。这时使用 passwd -u username 的解锁命令不能对账户解锁,只有手动清空登陆失败次数才能马上解锁。
至此,Linux下解锁账户并设置密码不过期完成。