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 由 root 擁有,由 world-executable (
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 上什麼也沒有出現,就好像我的腳本沒有被呼叫一樣。出了什麼問題?
我最終會回復自己。
OpenVPN 是作為 systemd 服務(目標?)啟動的,其配置文件聲明為
PrivateTmp=true
. 所以它確實有效並且腳本實際上執行了,但它沒有寫入實際的 /tmp 文件夾。順便說一句,還應該使用二進製文件的完整路徑(例如
/usr/bin/whoami
),因為$PATH
執行腳本的路徑可能與正常 shell 的路徑不同。