passwd是对用户密码进行操作的命令。
用法: passwd [选项...] <帐号名称>
-k, --keep-tokens 保持身份验证令牌不过期
-d, --delete 删除已命名帐号的密码(只有根用户才能进行此操作)
-l, --lock 锁定指名帐户的密码(仅限 root 用户)
-u, --unlock 解锁指名账户的密码(仅限 root 用户)
-e, --expire 终止指名帐户的密码(仅限 root 用户)
-f, --force 强制执行操作
-x, --maximum=DAYS 密码的最长有效时限(只有根用户才能进行此操作)
-n, --minimum=DAYS 密码的最短有效时限(只有根用户才能进行此操作)
-w, --warning=DAYS 在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
-i, --inactive=DAYS 当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
-S, --status 报告已命名帐号的密码状态(只有根用户才能进行此操作)
--stdin 从标准输入读取令牌(只有根用户才能进行此操作)
Help options:
-?, --help 展示这个帮助文档
--usage 展示简单的使用消息
使用示例:
1. passwd:设置密码
[root@server ~]# passwd test
更改用户 test 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
2. passwd -S:显示用户密码状态
[root@server ~]# passwd -S test
test PS 2021-12-14 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
3. passwd -l/-u:锁定/解锁密码(密码被锁定时无法使用)
[root@server ~]# passwd -l test
锁定用户 test 的密码 。
passwd: 操作成功
[root@server ~]# passwd -S test
test LK 2021-12-14 0 99999 7 -1 (密码已被锁定。)
[root@server ~]# tail -1 /etc/shadow
test:!!$6$vpbn3KKi$aYK/Nx88UQ9ntv57c0XXX3jvgHlvM7ZrQ.B7pq70mDPtBNRLeDXsnZlx4OLq1kU1wQhKKixbrll3KqHIjsSVA.:18975:0:99999:7:::
### 密码前边加了两个叹号
[root@server ~]# passwd -u test
解锁用户 test 的密码。
passwd: 操作成功
[root@server ~]# passwd -S test
test PS 2021-12-14 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@server ~]# tail -1 /etc/shadow
test:$6$vpbn3KKi$aYK/Nx88UQ9ntv57c0XXX3jvgHlvM7ZrQ.B7pq70mDPtBNRLeDXsnZlx4OLq1kU1wQhKKixbrll3KqHIjsSVA.:18975:0:99999:7:::
4. passwd -d:删除密码
[root@server ~]# passwd -d test
清除用户的密码 test。
passwd: 操作成功
[root@server ~]# passwd -S test
test NP 2021-12-14 0 99999 7 -1 (密码为空。)
[root@server ~]# tail -1 /etc/shadow
test::18975:0:99999:7:::