Ver Mensaje Individual
  #6 (permalink)  
Antiguo 31/12/2012, 03:31
j4v1
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Error usermod + crypt

Cita:
Iniciado por razpeitia Ver Mensaje
Después de un poco de pruebas esto es lo que le faltaba:

Código Python:
Ver original
  1. import string
  2. import crypt
  3. from random import randint
  4. import os
  5.  
  6. user = "guest"
  7. root_password = "PonysEnAlmibar"
  8. new_password = "test01"
  9.  
  10.  
  11. salt_chars = './' + string.ascii_letters + string.digits
  12. salt_length = 7
  13. salt = ''.join(salt_chars[randint(0, 63)] for _ in xrange(salt_length))
  14.  
  15. new_encrypted_password = crypt.crypt(new_password, '$6$%s$' % salt)
  16.  
  17. command = 'echo %s | sudo -S %s' % (str(root_password), 'sudo usermod -p \''+ new_encrypted_password + '\' ' + str(user))
  18. os.system(command)

PD: Usalo bajo tu propio riesgo :D
:apla uso:

Genial! me funciona perfectamente!! Lo del +test+ es de las cientos de pruebas que hice, solo que al pastearlo en el foro se me pasó de cambiar.

He mirado y lo que me faltaba eran las barras:
Código:
\''+ new_encrypted_password + '\'
Si no es molestia, podrías explicarme el por que? cual es la función de las barras y cuando se deben de usar?

Muchísimas gracias!!!