如何从 bash 设置新密码?

如何从 bash 设置新密码?

我使用的 busybox 具有有限的密码(我没有 --stdin 选项),而没有chpasswd,我需要从 bash 更改用户的密码。这是我最好的结果:

echo newpassword > pwdfile
echo newpassword > pwdfile
cat pwdfile | passwd myuser
Changing password for myuser
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
Enter new password:
Bad password: too simple.

Warning: weak password (continuing).
Re-enter new password:
passwd: The password for myuser is unchanged.

答案1

Busybox 是chpasswd(8)一款最适合通过一个命令快速创建/更新大量用户的实用程序。它接受来自STDIN表单的数据username:password。这意味着您可以执行以下操作:

$ cat pwdfile | chpasswd

或者

$ < pwdfile chpasswd

注意pwdfile一定要有username:new_password语法。

话又说回来,你总是可以/etc/shadow自己编辑——但请不要这样做。

相关内容