惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
量子位
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
V
Visual Studio Blog
雷峰网
雷峰网
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
Blog — PlanetScale
Blog — PlanetScale
有赞技术团队
有赞技术团队
博客园 - 叶小钗
Microsoft Azure Blog
Microsoft Azure Blog
T
The Blog of Author Tim Ferriss
U
Unit 42
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
阮一峰的网络日志
阮一峰的网络日志
Y
Y Combinator Blog

博客园 - 深海蓝精灵

Linux-Nginx同一端口同时支持HTTP、HTTPS协议 Linux-arm离线Tomcat安装solr及国产数据库配置 Linux-2台服务器-Redis-集群模式安装配置 Linux 系统架构:aarch64,docker、Docker-compose,包下载安装配置 Linux aarch64 架构离线 Docker-compose 搭建 Nginx+Keepalived 双机热备(高可用集群) Linux 部署nacos3.1.2,修改Console默认8080端口,修改为8081的解决方案 CloudBeaver Community,web界面,查询表字段长度、及存储过程信息 Linux 服务器 mac 地址查询命令 Linux-LVM 方式挂载大于3T磁盘,详细操作过程 BCLinux,镜像安装GitLab社区版 v18.5.1 Bcliux-docker-nacos2.2.0升级至2.2.3版本 Oracle删除表数据恢复方法 BcLinux-Redis-集群(cluster)安装配置 Bclinux离线安装PostgreSQL10.23+PostGIS2.5编译安装配置 Oracle-失效链接清理 Linux-shell脚本链接Oracle执行查询 Linux系统中,修改密码永不过期 Oracle中replace函数使用简介 ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段 BcLinux-Redis-集群(cluster)模式安装配置 Oracle-修改字段类型方法总结 Bclinux系统安装MongoDB Linux-下docker和主机之间的文件拷贝 解决:tcpdump -w xxxxx.cap 提示 Permission denied
Linux-查询全部密码过期用户
深海蓝精灵 · 2025-06-16 · via 博客园 - 深海蓝精灵

在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系统中所有用户的密码过期状态。