Lancer commande SUDO avec Python 3

Fermé
Reepper Messages postés 1 Date d'inscription dimanche 27 janvier 2019 Statut Membre Dernière intervention 27 janvier 2019 - 27 janv. 2019 à 11:21
quent217 Messages postés 420 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 - 28 janv. 2019 à 23:00
Bonjour,

j'ai cherché un sur les forum Anglais des solution pour lancer des commande sudo sous py3.
J'ai pas eu de résultat très concluant :/

voilà ce que j'ai trouvé:

la commande que je veux exécuter:

command = 'usermod -a -G dialout '+User


avec subprocess:

subprocess.Popen('sudo ' , shell=True,stdout=subprocess.PIPE)
subprocess.Popen(sudoPassword , shell=True,stdout=subprocess.PIPE)
proc = subprocess.Popen(command , shell=True,stdout=subprocess.PIPE)
list_of_byte_strings = proc.stdout.readlines()


avec os:

os.popen("sudo %s"%(command), 'w').write('sudoPassword')


avec l'app xterm:

os.system("xterm -c \"sudo usermod -a -G dialout [user]"")


Je suis un amateur encore mais je me défend plutôt bien.

Pour ceux a qui ça intéresse, je fais un programme en python pour mon projet de BTS, créer un interface de télémesure sous py3 et je voulais créer un bouton pour lancer la commande usemod pour accéder au port série.

Configuration: Linux Mint 18.3 / Firefox 64.0
A voir également:

1 réponse

quent217 Messages postés 420 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 347
28 janv. 2019 à 23:00
Bonjour,
pour que sudo utilise l'entrée standard, il faut utiliser l'option -S
echo "password" | sudo -S commande
0