左丘纨 发表于 2025-6-16 22:29:45

Linux-查询全部密码过期用户

在Linux系统中,你可以使用chage命令来查看和修改用户的密码过期信息。如果你想查询系统中所有用户的密码过期状态,你可以结合chage命令与文本处理工具,如awk或grep,以及系统用户列表命令,如getent。
方法1:使用getent和chage
列出所有用户:首先,你可以使用getent命令来获取系统上的所有用户列表。
getent passwd | cut -d: -f1

这里,cut -d: -f1用于从passwd文件中提取用户名(字段由冒号分隔)。
查询每个用户的密码过期信息:然后,你可以对每个用户运行chage -l命令来查看密码过期信息。

getent passwd | cut -d: -f1 | while read user; do echo "User: $user"; chage -l $user; done
这个命令会为系统上的每个用户打印出密码过期信息。

方法2:使用awk处理输出
如果你想要一个更紧凑的输出或者想要直接从单个命令中获取所有信息,你可以使用awk来处理getent passwd的输出:

getent passwd | awk -F':' 'BEGIN {print "Username\tLast password change\tMinimum\tMaximum\tWarning\tInactive\tExpire"} {print $1 "\t" $3 "\t" $4 "\t" $5 "\t" $6 "\t" $7 "\t" $8}'
这个命令会输出用户的用户名、密码最后更改时间、密码最小/最大更改天数、警告天数、不活动天数以及账户过期时间等信息。

注意点
确保你有足够的权限来查看这些信息。通常需要root权限。
上述命令中的字段(如$3, $4等)对应于passwd文件中的不同部分,具体对应关系如下:
$1: 用户名
$3: 密码最后更改时间(自1970年1月1日起的天数)
$4: 密码最小更改期限(天)
$5: 密码最大更改期限(天)
$6: 密码到期前的警告天数
$7: 账户不活动期限(天)
$8: 账户过期时间(自1970年1月1日起的天数)
通过这些方法,你可以方便地查看Linux系统中所有用户的密码过期状态。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

打阗渖 发表于 2025-10-15 01:15:53

收藏一下   不知道什么时候能用到

靳谷雪 发表于 2025-10-18 14:45:54

用心讨论,共获提升!

陈兰芳 发表于 2025-11-30 10:54:09

分享、互助 让互联网精神温暖你我

筒濂 发表于 2025-12-8 05:24:06

感谢发布原创作品,程序园因你更精彩

庾签 发表于 2025-12-14 14:18:20

热心回复!

彭水晶 发表于 2026-1-8 23:18:44

新版吗?好像是停更了吧。

坪钗 发表于 2026-1-18 17:58:06

过来提前占个楼

艋佰傧 发表于 2026-1-20 16:02:15

热心回复!

公西颖初 发表于 2026-1-22 14:33:13

分享、互助 让互联网精神温暖你我

崔和美 发表于 2026-1-26 11:38:30

前排留名,哈哈哈

荡俊屯 发表于 2026-1-30 02:48:10

懂技术并乐意极积无私分享的人越来越少。珍惜

坏级尹 发表于 2026-2-1 02:09:39

热心回复!

强怀梅 发表于 2026-2-2 21:09:19

过来提前占个楼

窝酴 发表于 2026-2-3 03:29:29

前排留名,哈哈哈

秦晓曼 发表于 2026-2-4 15:54:51

感谢分享,下载保存了,貌似很强大

洫伍俟 发表于 2026-2-8 01:38:02

感谢分享

沃盼盼 发表于 2026-2-10 07:26:59

喜欢鼓捣这些软件,现在用得少,谢谢分享!

磁呃泵 发表于 2026-2-12 08:09:41

谢谢楼主提供!

左丘雅秀 发表于 2026-2-18 10:00:01

很好很强大我过来先占个楼 待编辑
页: [1] 2
查看完整版本: Linux-查询全部密码过期用户