How do you change a user password in a script with busybox and openssl?
busybox, change-password, linux, openssl
Solution
You can write a small script like this to update the password. Put the following text in a file and execute it. It will change your password.
#!/bin/sh passwd << EOF <old password> <new password> <new password> EOF
Problem
I need to synchronize a user account and password to an external source on a system with busybox and openssl installed. When the external source tells my system to update credentials, how do I change the user's password in a script? I will have the password in plain text. This has to be automated, and from what I can tell busybox passwd is interactive and I don't particularly want to write an expect-type script for passwd if that's even possible. It looks like openssl can generate password hashes (openssl passwd -1 -salt "abcdefgh" {password}), but will I have to modify /etc/shadow directly? Busybox has these commands available.