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 ルート: root 644

/var/log/openvpn/openvpn.log.ルート:ルート600
/var/log/openvpn/openvpn-status.log root: root 600

それでは、OpenVPNがrootとして実行されているようですが、systemdを使用するとフォルダの権限が755に拒否されるのはなぜですか? bashからrootとして同じコマンドラインを実行すると、期待どおりに機能します。

/lib/システム/.../[Eメール保護]コンテンツ:

[単位]
説明=%iに接続されたOpenVPN
部分=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
PIDファイル=/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 =マルチユーザー。ターゲット

関連情報