Estoy tratando de automatizar la configuración del acceso SFTP. Esta secuencia de comandos se ejecuta como un usuario con permisos sudo y sin contraseña.¿Cómo puedo establecer una contraseña de usuario en Linux desde un script de python?
que puede crear un usuario de esta manera:
>>> import subprocess
>>> process = subprocess.Popen(['sudo', 'useradd', 'test'], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>> process.communicate()
('', '')
siguiente que necesita para establecer la contraseña del usuario, pero no puedo encontrar la manera. Esto es lo que he intentado.
>>> process = subprocess.Popen(['sudo', 'chpasswd'], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>> process.communicate('test:password')
En mi programa python no tiene ningún efecto, en el intérprete interactivo se bloquea después de la primera línea.
¿Cuál es la mejor manera de hacerlo?
Estoy ejecutando python 2.6 en Ubuntu lúcido.
Gracias por los comentarios. El código real es de hecho más completo, pero apreciado no obstante. – Jake