Comment créer un utilisateur sous Linux en utilisant Python? Je veux dire, je connais le module de sous-processus et j'ai pensé à appeler 'adduser' et à passer tous les paramètres à la fois, mais la commande 'adduser' pose des questions comme mot de passe, nom complet, téléphone et autres. Comment pourrais-je répondre à ces questions en utilisant un sous-processus? J'ai vu le module appelé pexpect dans cette question: Can I use Python as a Bash replacement?. Y a-t-il un autre module standard?Comment créer un utilisateur sous Linux en utilisant python
Répondre
Utilisez useradd
, il ne pose pas de questions mais accepte de nombreuses options de ligne de commande.
Vous pouvez simplement utiliser les binaires intégrés, donc appelez simplement useradd ou quelque chose via le module de sous-processus. Cependant, je ne sais pas si d'autres modules sont connectés à Linux pour fournir cette fonctionnalité.
Sur Ubuntu, vous pouvez utiliser le package python-libuser
import os
import crypt
password ="[email protected]"
encPass = crypt.crypt(password,"22")
os.system("useradd -p "+encPass+" johnsmith")
quel est le numéro 22? Est-ce toujours la bonne façon de chiffrer en 2017? – answerSeeker
22 est un sel. Vous pouvez utiliser des valeurs aléatoires. Si vous voulez une sécurité supplémentaire, vous pouvez utiliser sha-256 ou 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)
À quoi sert le numéro 22? En outre, le sous-processus serait-il meilleur que os.system? – answerSeeker
@answerSeeker c'est du sel. salt est une chaîne de 2 caractères qui sera utilisée pour sélectionner l'une des 4096 variantes de DES. (de pydoc) – yanpas
désolé pour le necrobump, mais la crypte peut générer un sel pour vous, pas besoin de spécifier. sel = crypt.mksalt (crypt.METHOD_SHA512) salthash = crypt.crypt (mot de passe, le sel) voir [ici] (https://docs.python.org/3/library/crypt.html#crypt. mksalt) pour plus d'informations. –
- 1. Créer un groupe d'utilisateurs sous Linux en utilisant python
- 2. Créer un fichier sous Linux en utilisant C
- 3. Comment créer un progiciel sous Unix/Linux
- 4. Comment puis-je créer un document Word en utilisant Python?
- 5. Compilation croisée des extensions python sous Linux en utilisant distutils
- 6. Chemin utilisateur actuel sous Linux?
- 7. Environnement Safe Python sous Linux
- 8. Comment jouer un son sous Linux en utilisant C?
- 9. Comment puis-je créer dynamiquement un fichier zip en utilisant PHP sous Linux?
- 10. Comment créer un nom de fichier Unicode sous Linux?
- 11. Comment renommer un processus sous Linux?
- 12. Comment créer un menu/sous-menu en utilisant MVC?
- 13. comment créer un nouveau fichier en utilisant python
- 14. Créer sous-domaine par utilisateur
- 15. créer un utilisateur sous SQL Server sous conditions
- 16. Authentifier l'utilisateur sous Linux avec python 3
- 17. Comment capturer depuis une webcam sous Linux en utilisant Mono?
- 18. Serveur postgresql local et création d'un nouvel utilisateur sous Linux
- 19. Outil pour créer un service démon Java sous Linux
- 20. Comment exécuter un script infiniment en arrière-plan sous Linux?
- 21. Comment lire/écrire des fichiers .sit avec Python sous Linux
- 22. créer des fenêtres utilisateur en utilisant Delphi
- 23. Installation d'un programme Python sous Linux
- 24. Mieux IDE ne construit pas en utilisant Java sous Linux?
- 25. Comment créer des périphériques Ethernet virtuels sous Linux?
- 26. Comment appeler Wine dll à partir de python sous Linux?
- 27. Événement inactif Linux En Python
- 28. UDP en C++ sous Linux
- 29. Comment associer une extension de fichier à une application en utilisant un fichier .desktop (sous linux)?
- 30. Comment démarrer XServer sous Linux via un utilisateur apache déclenché par un script Perl exécuté en arrière-plan?
Est-ce un paquet ubuntu seulement? Si je dois l'exécuter sur d'autres distributions, devrai-je installer manuellement ce paquet? – Salsa
Vous êtes probablement mieux avec 'useradd' pour la compatibilité de distribution croisée, mais notez que même' useradd' n'est pas garanti pour être disponible sur toutes les distributions. Puppy Linux je crois ne vient pas avec useradd par défaut, par exemple. – unutbu