无需密码重启 OpenVPN 服务

无需密码重启 OpenVPN 服务

有人可以告诉我如何在没有密码提示的情况下运行它:

systemctl restart [email protected]`

在我的 sudoers 文件中,我有:

<myadminuser> ALL=NOPASSWD: /usr/bin/systemctl [email protected] restart,/etc/init.d/openvpn

在 ~/.bashrc 中我有:

alias or="systemctl restart [email protected]"

我尝试过的解决方案:

如果我在别名中添加“sudo”,则终端内会请求输入密码。如果我不在别名中添加 sudo,则会弹出框,要求输入密码。因此,我在这里发布了这个问题。

答案1

在您的sudoers文件中,您有一个不正确的条目,因此它永远不会匹配。应该是这样的(注意restart动作与原来的位置相比),

<myadminuser> ALL=NOPASSWD: /usr/bin/systemctl restart [email protected],/etc/init.d/openvpn

然后在您的别名中您需要使用sudo

alias or="sudo systemctl restart [email protected]"

作为一个相关的想法,您可以通过使用 OpenVPN keep-alive 选项来避免执行任何此操作,您可以将其添加到客户端配置中

keepalive 10 60

这告诉 OpenVPN 客户端每 10 秒发送一条“hello”消息(尽管这些值有通常的描述,但它不是 ICMP ping),如果在 60 秒内没有收到回复,则重新启动连接。如果有必要,您可以尝试将其缩短为 40 秒超时,但我不会低于这个值。

相关内容