¿Cómo creo un usuario en Linux usando Python? Quiero decir, sé sobre el módulo de subproceso y pensé en llamar a 'adduser' y pasar todos los parámetros a la vez, pero el comando 'adduser' hace algunas preguntas como contraseña, nombre completo, teléfono y demás. ¿Cómo respondería a estas preguntas usando un subproceso? He visto un módulo llamado pexpect en esta pregunta: Can I use Python as a Bash replacement?. ¿Hay algún otro módulo estándar?Cómo crear un usuario en Linux usando python
Respuesta
Use useradd
, no hace ninguna pregunta pero acepta muchas opciones de línea de comandos.
Podrías simplemente usar los binarios integrados así que solo llama a useradd o algo por el módulo de subproceso. Sin embargo, no sé si hay otros módulos que se enganchen en Linux para proporcionar tal funcionalidad.
En Ubuntu, se puede utilizar el paquete de python-libuser
import os
import crypt
password ="[email protected]"
encPass = crypt.crypt(password,"22")
os.system("useradd -p "+encPass+" johnsmith")
¿cuál es el número 22? ¿Sigue siendo esta la forma correcta de encriptar en 2017? – answerSeeker
22 es una sal. Puedes usar valores aleatorios. Si desea mayor seguridad, puede usar sha-256 o sha-512 – mcolak
def createUser(name,username,password):
encPass = crypt.crypt(password,"22")
return os.system("useradd -p "+encPass+ " -s "+ "/bin/bash "+ "-d "+ "/home/" + username+ " -m "+ " -c \""+ name+"\" " + username)
¿Cuál es el número 22? Además, ¿el subproceso sería mejor que el sistema oss? – answerSeeker
@answerSeeker es sal. sal es una cadena de 2 caracteres que se utilizará para seleccionar una de 4096 variaciones de DES. (de pydoc) – yanpas
perdón por el necrobump, pero crypt puede generar una sal para usted, sin necesidad de especificar. sal = crypt.mksalt (crypt.METHOD_SHA512) salthash = crypt.crypt (contraseña, sal) ver [aquí] (https://docs.python.org/3/library/crypt.html#crypt. mksalt) para más información. –
- 1. ¿Cómo crear un usuario de Linux usando C/C++?
- 2. Crear un grupo de usuarios en linux usando python
- 3. ¿Cómo busco un archivo ejecutable usando python en Linux?
- 4. en Python y Linux cómo obtener la identificación del usuario
- 5. Cómo crear un nuevo usuario en AWS
- 6. ¿Cómo crear un usuario en Django?
- 7. ¿Cómo puedo establecer una contraseña de usuario en Linux desde un script de python?
- 8. ¿Cómo puedo crear un ramdisk en Python?
- 9. Python IDE en consola Linux
- 10. ¿Cómo crear un archivo tar completamente comprimido usando Python?
- 11. Cómo crear un paquete de software en Unix/Linux
- 12. Crear un mensaje borrador en Gmail usando imaplib en Python
- 13. Crear archivos SVG usando Python
- 14. Crear archivo vacío usando python
- 15. ¿Cómo crear un archivo con un tamaño dado en Linux?
- 16. Crear un archivo en Linux utilizando C
- 17. Cómo crear un temporizador usando tkinter?
- 18. Crear un halo alrededor del texto en Python usando PIL?
- 19. Crear un instalador para la aplicación Linux
- 20. Cómo crear un CFuncType en Python
- 21. Comprender cómo crear un montón en Python
- 22. ¿Es posible crear aplicaciones usando Javascript en plataformas Linux?
- 23. crear un archivo tmp en Python
- 24. Cómo fusionar usando Meld en Linux
- 25. ¿Es posible crear un sistema operativo usando Python?
- 26. Ejecutar trabajos de Jenkins en Linux bajo un usuario
- 27. ¿Cómo administro un daemon basado en Python en Linux?
- 28. Comience a crear sitios web usando Python
- 29. Crear un administrador de ventanas para Linux
- 30. ¿Cómo comienzo y detengo un programa de Linux usando el módulo de subproceso en Python?
Es este un paquete ubuntu-solamente? Si necesito ejecutarlo en otras distribuciones, ¿tendré que instalar este paquete manualmente? – Salsa
Probablemente esté mejor con 'useradd' para la compatibilidad de distribución cruzada, pero tenga en cuenta que incluso' useradd' no está garantizado para estar disponible en todas las distribuciones. Puppy Linux creo que no viene con useradd por defecto, por ejemplo. – unutbu