Je faisais une application graphique pour gérer les utilisateurs et les groupes sous Linux !
J'en ai terminé avec la partie où il crée un nouvel utilisateur, mais je suis bloqué avec la partie où il donne un nouveau mot de passe à l'utilisateur nouvellement créé.
Ce que mon application fait simplement est de prendre l'entrée requise (nom d'utilisateur, liste de groupes et mot de passe) via une interface graphique et exécute un script en passant cette information comme argument.
Disons que nous avons un compte utilisateur, xyz.
Si je veux changer le mot de passe de ce compte, alors tout ce que je il suffit d'exécuter la commande :
passwd xyz
Cela demandera un nouveau mot de passe. Maintenant, je peux créer un nouveau compte à l'aide de scripts car toutes les informations requises sont transmises dans la ligne de commande.
useradd -m -G users -g "groups" -s /bin/bash "UserName"
Je peux exécuter un script via l'application Qt et créer l'utilisateur, mais
dans passwd cmd
, l'entrée est demandée dans l'autre ligne. Comment gérer cela ?
Réponse acceptée :
Je pense que la bonne réponse ici est :ne faites pas appel à un outil de ligne de commande ; utilisez un appel de bibliothèque . Cela vous permettra de mieux gérer les erreurs et d'éviter la transmission risquée du mot de passe sur une ligne de commande.
Une bibliothèque que vous pouvez utiliser est libuser, qui est relativement simple et possède des liaisons C et Python.