文章目录
- 简介
 - 相关文件
 - 常用选项
 - 参考示例
 - 修改当前登陆的账户密码
 - 修改其他用户密码
 - 读取标准输入的值,设置成指定用户的密码
 - 锁定密码不允许用户修改
 - 解除锁定密码,允许用户修改
 - 下次登陆强制改密码
 - 清除登录密码。清除之后登录时无需密码,风险极大,不推荐使用
 - 查询密码状态
 
简介
passwd 命令用于设置用户的认证信息,包括用户密码、账户锁定、密码失效等。直接运行 passwd 命令修改当前的用户密码,对其他用户的密码操作需要管理员权限。
相关文件
存放用户信息:
/etc/passwd
/etc/shadow
 
查看用户信息文件:
[root@htlwk0001host ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
jack:X:503:504:this is jack:/home/jack/:/bin/bash
 
每行有 7 个字段值,例如:
jack:X:503:504:this is jack:/home/jack/:/bin/bash
 
jack:用户名
 X:口令、密码,表示密码加密了,并且保存在 /etc/shadow 文件中
 503:用户的 id 号,每个用户都有一个唯一的 id 。0 是为 root 用户保留的,普通新建用户的 id 一般大于 500
 504:所在组的 id 号,保存在 /etc/group文件中
 this is jack:描述信息
 /home/jack/:用户主目录
 /bin/bash:用户缺省Shell类型
注意:
 有些用户的shell类型是:/sbin/nologin 或 /bin/false
1./bin/false 是最严格的禁止 login 选项,一切服务都不能用,
 2./sbin/nologin 只是不允许系统 login,可以使用其他 ftp 等服务
存放组信息:
/etc/group
/etc/gshadow
 
常用选项
| 选项 | 说明 | 
|---|---|
| -d | 删除密码 | 
| -l | 锁定用户密码,无法被用户自行修改 | 
| -u | 解开已锁定用户密码,允许用户自行修改 | 
| -e | 密码立即过期,下次登陆强制修改密码 | 
| -k | 设置只有在密码过期失效后,方能更新 | 
| -S | 查询密码状态 | 
参考示例
修改当前登陆的账户密码
直接输入命令 passwd:
[root@htlwk0001host /]# passwd
更改用户 root 的密码 。
新的 密码:
 
修改其他用户密码
修改用户 mysql 的密码:
[root@htlwk0001host mysql]# passwd mysql
更改用户 mysql 的密码 。
新的 密码:
 
读取标准输入的值,设置成指定用户的密码
将用户 tom 的密码设置为 tom:
[root@localhost ~]# echo "tom" | passwd --stdin tom
Changing password for user tom.
passwd: all authentication tokens updated successfully.
 
注:选项 --stdin 表示命令 passwd 会从标准输入中读取数据,并将此数据设为用户 tom 的密码值。
锁定密码不允许用户修改
锁定用户 linuxcool 的密码,不允许修改:
[root@linuxcool ~]# passwd -l linuxcool
 
解除锁定密码,允许用户修改
解除用户 linuxcool 的密码锁定:
[root@linuxcool ~]# passwd -u linuxcool
 
下次登陆强制改密码
将用户 linuxcool 设置为下次登录强制修改密码:
[root@linuxcool ~]# passwd -e linuxcool
 
清除登录密码。清除之后登录时无需密码,风险极大,不推荐使用
清除用户 linuxcool 的登录密码:
[root@linuxcool ~]# passwd -d linuxcool
 
查询密码状态
[root@linuxcool ~]# passwd -S linuxcool