一、基础密码修改选项
无参数直接运行
功能:修改当前用户的登录密码
示例:
bash
passwd # 交互式输入新旧密码
引用:
**-k / --keep-tokens**
功能:仅更新密码有效期,不修改实际密码(需密码已过期)
示例:
bash
passwd -k # 保持令牌不过期
引用:
二、账户锁定与解锁
**-l / --lock**
功能:锁定用户密码(密码字段前加 !),禁止密码登录(需 root 权限)
示例:
bash
sudo passwd -l username # 锁定账户
引用:
**-u / --unlock**
功能:解除账户锁定(移除密码字段前的 !)
示例:
bash
sudo passwd -u username # 解锁账户
引用:
三、密码失效管理
**-e / --expire**
功能:立即使密码过期,强制用户下次登录时修改(需 root)
示例:
bash
sudo passwd -e username # 密码立即过期
引用:
**-d / --delete**
功能:删除用户密码(禁用密码登录,需 root)
示例:
bash
sudo passwd -d username # 清除密码
引用:
四、密码有效期设置
**-x / --maximum=DAYS**
功能:设置密码最长有效期(超过后需强制修改)
示例:
bash
sudo passwd -x 90 username # 最长90天
引用:
**-n / --minimum=DAYS**
功能:设置密码最短有效期(修改后需等待天数才能再次修改)
示例:
bash
sudo passwd -n 30 username # 最短30天
引用:
**-w / --warning=DAYS**
功能:设置密码过期前的警告天数
示例:
bash
sudo passwd -w 7 username # 提前7天提醒
引用:
**-i / --inactive=DAYS**
功能:设置密码过期后禁用账户的天数
示例:
bash
sudo passwd -i 14 username # 过期14天后禁用
引用:
五、状态查询与诊断
**-S / --status**
功能:显示账户密码状态(包括是否锁定、有效期等)
示例:
bash
sudo passwd -S username # 输出类似:PS 2025-03-20 0 90 7 -1
字段解析:
字段 含义
Password 状态(P: 可用, L: 锁定, NP: 无密码)
Lastchg 上次修改时间
Min 最短有效期
Max 最长有效期
Warn 警告天数
Inact 过期后禁用天数
Expire 账户失效日期
引用:
六、其他高级选项
**–stdin**
功能:从标准输入读取密码(适用于脚本)
示例:
bash
echo “newpass” | sudo passwd --stdin username # 非交互式设置密码
引用:
**-f / --force**
功能:强制操作(如跳过密码复杂度检查)
示例:
bash
sudo passwd -f username # 强制修改密码
引用:
七、权限与注意事项
普通用户权限:仅能修改自身密码,且需符合系统复杂度规则(如长度、字符混合)。
管理员权限:可修改任意用户密码,弱密码可能触发警告但依然生效。
密码安全建议:
长度≥8位,包含大小写字母、数字及特殊符号
定期更换(建议最长有效期≤90天)
避免使用常见词汇或连续字符
引用说明
基础选项与示例:
状态字段解析:
安全建议:
完整手册可通过 man passwd 查看,或参考系统网页如 /etc/login.defs。