Neste tutorial exemplo, apresento o comando usermod como forma de alterar a senha de usuários do linux de forma não interativa, como a interface do comando passwd nos fornece.
Para alterar a senha do usuário, basta
usermod -p $(openssl passwd -1 <senha>) <user_login>
Isto possibilita que qualquer script altere a senha de qualquer usuário sem interação, desde que o usuário do script tenha obviamente permissão para alterar o arquivo /etc/shadow.