El siguiente código funcionó en Ubuntu 14.04. Pruébelo antes de usarlo en otras versiones/variantes de Linux.
# quietly add a user without password
adduser --quiet --disabled-password --shell /bin/bash --home /home/newuser --gecos "User" newuser
# set password
echo "newuser:newpassword" | chpasswd
También puede usar chpasswd:
echo username:new_password | chpasswd
Entonces, cambia la contraseña del usuario username
a new_password
.
Puede ejecutar el comando passwd y enviarle una entrada canalizada. Entonces, haz algo como:
echo thePassword | passwd theUsername --stdin
Me preguntaba lo mismo y no quería depender de un script de Python.
Esta es la línea para agregar un usuario con una contraseña definida en una línea bash:
useradd -p $(openssl passwd -crypt $PASS) $USER