未调用 Openvpn 的客户端连接脚本

未调用 Openvpn 的客户端连接脚本

我希望 OpenVPN 在客户端连接时运行脚本,但它似乎忽略了我的客户端连接指令。

我在 Raspbian 上运行 OpenVPN 2.4.0。在我的 server.conf 中,我有

...
script-security 3
# this is the "up" directive but the issue is the same as with client-connect
up /etc/openvpn/up.sh
...

/etc/openvpn/up.sh 由 world-executable ( ) 的 root 拥有rwxr-xr-x,它很简单

#!/bin/sh
whoami >> /tmp/connect.txt
exit 0

我可以成功连接到我的服务器,/var/log/daemon.log即使 ovpn-server[2050]: /etc/openvpn/up.sh tun0 1500 1621 10.100.0.1 10.100.0.2 init没有指出任何错误,但 /tmp 上什么也没有出现,就好像我的脚本没有被调用一样。

出了什么问题?

答案1

我终于回复自己了。

OpenVPN 作为 systemd 服务(目标?)启动,其配置文件声明为PrivateTmp=true.所以做过工作并且脚本实际运行,但它没有写入实际的 /tmp 文件夹中。

顺便说一句,还应该使用二进制文件的完整路径(例如/usr/bin/whoami),因为$PATH执行的脚本的路径可能与常规 shell 的路径不同。

相关内容