我使用的 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
自己编辑——但请不要这样做。