使用Python期待运行OpenVPN

3 投票
1 回答
6869 浏览
提问于 2025-04-15 17:44

我需要一个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"])

撰写回答