chage
(change age) 是Linux系统中用于管理用户密码过期信息的实用工具,属于shadow-utils软件包的一部分。它允许系统管理员精细控制用户密码的生命周期策略。
密码过期管理:
账户有效期控制:
密码策略信息查询:
chage
命令通过修改/etc/shadow
文件中的以下字段来实现其功能:
username:password:last_change:min_days:max_days:warn_days:inactive_days:expire_date:reserved
其中各字段对应chage
的选项:
last_change
:密码最后修改日期(-d选项)min_days
:密码最短使用天数(-m选项)max_days
:密码最长使用天数(-M选项)warn_days
:密码过期前警告天数(-W选项)inactive_days
:密码过期后账户锁定前的宽限天数(-I选项)expire_date
:账户绝对过期日期(-E选项)查看用户密码策略信息:
chage -l username
设置密码最长使用期限为90天:
chage -M 90 username
设置密码最短使用期限为7天(防止频繁更改):
chage -m 7 username
设置密码过期前7天开始警告用户:
chage -W 7 username
设置账户在2023-12-31过期:
chage -E 2023-12-31 username
设置密码过期后账户立即失效(无宽限期):
chage -I 0 username
强制用户下次登录时更改密码:
chage -d 0 username
批量修改用户密码策略:
for user in user1 user2 user3; do chage -M 60 "$user"; done
结合passwd命令设置初始密码并强制更改:
echo "username:newpassword" | chpasswd && chage -d 0 username
使用天数而非日期设置账户过期:
chage -E $(date -d "+180 days" +%Y-%m-%d) username
awk -F: '$5 > 90 {print $1}' /etc/shadow
chage
需要root权限才能修改其他用户的设置通过合理使用chage
命令,系统管理员可以有效地实施密码生命周期管理策略,增强系统的整体安全性。