Ubuntu 升级后的 systemd 和 OpenVPN 问题

Ubuntu 升级后的 systemd 和 OpenVPN 问题

将虚拟机从 Ubuntu Server 14.04 LTS 更新到 16.04 LTS 后,OpenVPN 停止工作,我希望能帮助了解原因。

使用 systemctl status 我可以看到 OpenVPN 由于“权限被拒绝”而无法在 /run/openvpn 中创建 PID 文件或 /var/log/openvpn 中的日志文件。

如果我使用完全相同的命令以 root 身份手动启动 OpenVPN,那么一切都会正常工作,如果我将文件夹的权限更改为 777,它也会正常工作。

/run/openvpn 由 root:root 所有,最初拥有 755 权限。

/var/log/openvpn 由 openvpn:root 所有,最初权限为 775。

如果我以 777 权限启动 OpenVPN,我可以看到以下文件:

/run/openvpn/server.pid 根:根 644

/var/log/openvpn/openvpn.log。根:根600
/var/log/openvpn/openvpn-status.log 根:根 600

那么,OpenVPN 似乎是以 root 身份运行的,那么为什么当我使用 systemd 时,我的文件夹权限会被拒绝,并且文件夹权限为 755 呢?以 root 身份从 bash 运行完全相同的命令行,可以按预期工作。

/lib/systemd/.../[电子邮件受保护]内容:

[单元]
描述=OpenVPN 连接到 %i
部分=openvpn.service
ReloadPropagatedFrom=openvpn.service
之前=systemd-user-sessions.service
文档=man:openvpn(8)
文档=https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
文档=https://community.openvpn.net/openvpn/wiki/HOWTO

[服务]
PrivateTmp=true
KillMode=混合
类型=分叉
ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/% i.conf --writepid /run/openvpn/%i.pid
PIDFile=/run/openvpn/%i.pid
ExecReload=/bin/kill -HUP $MAINPID
工作目录=/etc/openvpn
保护系统=是
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_READ_SEARCH CAP_AUDIT_WRITE
限制NPROC=10
DeviceAllow=/dev/null rw
DeviceAllow=/dev/net/tun rw

[安装]
WantedBy=多用户.target

相关内容