Después de un poco de pruebas esto es lo que le faltaba:
Código Python:
Ver originalimport string
import crypt
from random import randint
import os
user = "guest"
root_password = "PonysEnAlmibar"
new_password = "test01"
salt_chars = './' + string.ascii_letters + string.digits
salt_length = 7
salt = ''.join(salt_chars[randint(0, 63)] for _ in xrange(salt_length))
new_encrypted_password = crypt.crypt(new_password, '$6$%s$' % salt)
command = 'echo %s | sudo -S %s' % (str(root_password), 'sudo usermod -p \''+ new_encrypted_password + '\' ' + str(user))
os.system(command)
PD: Usalo bajo tu propio riesgo :D