我的 OpenVPN 服务器在帐户下运行nobody
,它被配置为在客户端连接后调用脚本(用于记录客户端的 IP 以及一些信息):
client-connect "/etc/openvpn/scripts/clientconnect.sh 443"
问题是脚本可以成功写入,/etc/openvpn/logs/
但无法写入/var/log/openvpn/
两个目标的权限是相同的:
root@vpn:/etc/openvpn# ll /var/log/openvpn/client-connect.log
-rw-r--rw- 1 root root 1 Apr 19 19:10 /var/log/openvpn/client-connect.log
root@vpn:/etc/openvpn# ll /etc/openvpn/logs/client-connect.log
-rw-r--rw- 1 root root 63103291 Apr 19 19:20 /etc/openvpn/logs/client-connect.log
ls -ld / /var /var/log /var/log/openvpn/ 的输出:
root@vpn:~# ls -ld / /var /var/log /var/log/openvpn/
drwxr-xr-x 23 root root 4096 Apr 13 20:15 /
drwxr-xr-x 11 root root 4096 Feb 6 2016 /var
drwxrwxr-x 14 root syslog 4096 Apr 19 00:00 /var/log
drw-rw-rw- 3 root root 4096 Apr 19 19:19 /var/log/openvpn/
我收到以下目的地错误/var/log/openvpn/
:
/etc/openvpn/scripts/clientconnect.sh: 12: cannot create /var/log/openvpn/client-connect.log: Permission denied
不明白什么可以阻止 OpenVPN 写入 /var/log/openvpn/client-connect.log?
(我知道 OpenVPN 可以在其他登录下运行,但我想处理权限问题)
答案1
您的目录权限/var/log/openvpn
本身是错误的。你必须如果您希望用户、组或其他所有人能够访问该目录中的项目,则为他们提供执行(搜索)权限