Loading

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记录中,这是一个风险点。

posted @ 2021-04-19 23:59  五月的麦田  阅读(1316)  评论(0编辑  收藏  举报