passwd 修改用户密码
作用:passwd主要用来修改用户的登录密码
用法: passwd [选项...] <帐号名称>
主要选项:
-k, --keep-tokens 保持身份验证令牌不过期
-d, --delete 删除已命名帐号的密码(只有 root 用户才能进行此操作)
-l, --lock 锁定指名帐户的密码(仅限 root 用户)
-u, --unlock 解锁指名账户的密码(仅限 root 用户)
-e, --expire 终止指名帐户的密码(仅限 root 用户)
-f, --force 强制执行操作
-x, --maximum=DAYS 密码的最长有效时限(只有 root 用户才能进行此操作)
-n, --minimum=DAYS 密码的最短有效时限(只有 root 用户才能进行此操作)
-w, --warning=DAYS 在密码过期前多少天开始提醒用户(只有root 用户才能进行此操作)
-i, --inactive=DAYS 当密码过期后经过多少天该帐号会被禁用(只有 root 用户才能进行此操作)
-S, --status 报告已命名帐号的密码状态(只有 root 用户才能进行此操作)
--stdin 从标准输入读取令牌(只有 root 用户才能进行此操作)
Help options:
-?, --help Show this help message
--usage Display brief usage message
🔴应用实例
(1)修改当前用户密码
如果修改当前用户密码,在可以直接使用 passwd 命令,普通用户会要求输入原密码,密码长度不少于8个字符,root 用户可以无视则不需要输入原密码,密码长度及时不合规范也可以正常更新密码,但生产环境还是建议密码要符合复杂性要求。
# passwd
更改用户 root 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
(2)位用户指定空密码
如下命令可以将用户user01的密码删除,在该用户下次登录时,系统将不再询问密码:
# passwd -d user01
(3)临时说的一个用户登录
某些时候需要让一个用户临时不能登录,此时可以使用如下命令锁定用户密码(只有 root 权限才可以使用此选项):
# passwd -l user01
(4)解锁用户密码
恢复锁定用户的登录权限,可使用如下命令解锁密码锁定(只有 root 权限才可以使用此选项):
passwd -u user01
锁定账户使用户无法登录除了用passwd命令可使用usermod命令,只不过usermod命令锁定的是账户而不是密码。
(5)非交互式修改密码
直接使用passwd命令加用户名修改密码是交互式的,如果希望一条命令就可以更新账户密码可以用如下命令:
# echo 'iejfow@' | passwd --stdin user01
chpasswd 命令更新账户密码
# echo user01:'iejfow@' | chpasswd
执行以上两种非交互更新账号密码的命令,密码会暴露在history记录中,这是一个风险点。
永远年轻,永远热泪盈眶