3 votes

utiliser python expect pour exécuter openvpn

J'ai besoin d'un script python pour lancer l'open vpn automatiquement. mais j'utilise sudo pour lancer l'open vpn

sudo openvpn --cd /etc/openvpn --config openvpn.conf &

C'est ma commande de terminal. Je dois donner le mot de passe pour sudo, puis-je utiliser pexpect pour exécuter cette commande ? Et je dois obtenir le code de sortie parce que je veux savoir si l'openvpn est exécuté avec succès ou non.

merci

4voto

Kimvais Points 12453

Vous pouvez modifier /etc/sudoers pour que la commande openvpn puisse être exécutée sans donner le mot de passe.

yourusername ALL=(all) NOPASSWD: /path/to/openvpn

et en python, faites quelque chose comme :

import subprocess
exitcode = subprocess.call(["sudo","openvpn","--cd /etc/openvpn --config openvpn.conf"])

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X