密码更改

密码更改

我想编写一个 bash 脚本,执行后会将所有用户密码更改为脚本中指定的某个密码。有人知道如何实现吗?谢谢!

答案1

您可以使用chpasswd它从 STDIN 读取用户名/密码组合列表并应用它们。

为了生成输入,我们可以使用 列出所有已启用并设置了密码的用户帐户passwd -Sa | grep -Po "^\S+(?= P)"。然后我们在 的帮助下在每个用户名后附加一个冒号“:”和新密码sed

这个结构看起来会像这样:

passwd -Sa | grep -Po "^\S+(?= P)" | sed "s/$/:NEWPASSWORD/" | chpasswd

但是它必须以 root 身份执行,因此我们必须将它放入脚本中并以 root 身份运行(使用sudo),或者我们必须将它放入 Bash root shell 中来运行它sudo bash -c 'COMMAND'

这是您可以运行的完整命令,请将其替换NEWPASSWORD为您所需的内容。

sudo bash -c 'passwd -Sa | grep -Po "^\S+(?= P)" | sed "s/$/:NEWPASSWORD/" | chpasswd'

相关内容