使用Python期待运行OpenVPN
我需要一个Python脚本来自动运行OpenVPN,但我需要用sudo来运行OpenVPN。
sudo openvpn --cd /etc/openvpn --config openvpn.conf &
这是我在终端输入的命令。我必须输入sudo的密码,请问我可以用pexpect来运行这个命令吗?另外,我还需要获取退出代码,因为我想知道OpenVPN是否成功运行。
谢谢!
1 个回答
4
你可以修改 /etc/sudoers 文件,这样就可以在运行 openvpn 命令时不需要输入密码。
yourusername ALL=(all) NOPASSWD: /path/to/openvpn
在 Python 中,可以这样做:
import subprocess
exitcode = subprocess.call(["sudo","openvpn","--cd /etc/openvpn --config openvpn.conf"])