
导读:为了让大家全面掌握 passwd 命令,我会从实际应用场景切入,逐步讲解语法、基础与高级用法,再结合实战案例和脚本开发,让你既能搞定日常操作,也能应对运维难题。
玩转 Linux passwd 命令:从密码修改到批量运维,一篇吃透!
很多刚接触 Linux 的同学,对 passwd 命令的印象停留在 “改自己密码”—— 输入 passwd,输旧密码、新密码,搞定。但对运维来说,passwd 远不止这么简单:批量重置几十人密码、强制员工改弱密码、锁定离职人员账号…… 这些场景都要靠它。今天就从基础到实战,把 passwd 讲透。
一、先搞懂:passwd 命令到底用在哪些场景?
passwd 的核心是 “管理 Linux 用户密码”,但不同身份、不同需求,用法完全不同,常见场景有 3 类:
普通用户自用:改自己的登录密码(必须知道旧密码,防止账号被盗用);
管理员运维:重置他人密码(比如员工忘密码)、锁定 / 解锁账号(比如离职 / 复职)、强制密码过期(比如要求全员改密码);
批量自动化:配合 shell 脚本批量管理账号(比如新员工入职批量建号 + 设初始密码,定期清理僵尸账号)。
简单说:普通用户用它 “管自己”,管理员用它 “管所有账号”,脚本用它 “管一批账号”。
二、3 分钟掌握:passwd 的语法格式
passwd 的语法不复杂,但 “选项 + 用户名” 的组合是关键,不同身份(普通用户 /root)权限不一样:
基本语法
passwd [选项] [用户名]
关键说明
普通用户只能执行 (不带用户名),改自己的密码;
passwd
root 用户才能加 “用户名”,比如 ,改张三的密码;
passwd zhangsan
常用选项(必须记!):
| 选项 | 作用 | 适用身份 |
|---|---|---|
| -e | 强制密码过期(用户下次登录必须改密码) | root |
| -l | 锁定账号(锁定后无法登录) | root |
| -u | 解锁账号(解除锁定状态) | root |
| -d | 删除密码(账号变成 “无密码登录”,慎用!) | root |
| -S | 查看账号密码状态(是否过期、锁定等) | root / 普通用户(普通用户只能看自己) |
| –stdin | 从标准输入读密码(批量操作必用,避免手动输入) | root |
三、上手就用:3 个基础场景实操
看完语法,直接动手练,3 个最常用的基础操作,跟着做一遍就会。
场景 1:普通用户改自己的密码
不用加任何选项,直接输,按提示走就行(注意:输入密码时屏幕不显示,正常!):
passwd
# 普通用户执行
[zhangsan@linux ~]$ passwd
Changing password for user zhangsan.
Current password: # 输入旧密码(不显示)
New password: # 输入新密码(至少8位,含字母+数字+特殊符号,比如Zhang@123)
Retype new password: # 再输一遍新密码
passwd: all authentication tokens updated successfully. # 提示成功
场景 2:管理员重置员工密码
员工忘密码了,root 不用知道旧密码,直接指定用户名改:
# root用户执行
[root@linux ~]# passwd zhangsan
Changing password for user zhangsan.
New password: # 直接输新密码(比如Temp@2025)
Retype new password: # 再输一遍
passwd: all authentication tokens updated successfully.
场景 3:查看账号密码状态
想知道账号是否锁定、密码啥时候过期,用选项:
-S
# root查看张三账号状态
[root@linux ~]# passwd -S zhangsan
zhangsan P 09/20/2025 0 90 7 -1 # 解读:P=密码有效,09/20是设置时间,90天过期,提前7天提醒,-1=永不过期(最后一位)
四、进阶技巧:让密码管理更安全高效
基础操作够日常用,但遇到 “强制改密码”“锁定账号” 这类需求,就得用进阶选项了,这也是运维高频操作。
技巧 1:强制用户下次登录改密码
重置员工密码后,怕员工一直用临时密码?用强制密码过期,下次登录必须改:
-e
# root执行:强制张三下次登录改密码
