SELinux 和 OpenVPN?

SRY*_*ZDN 3 selinux openvpn

安装了 Fedora 20 64 位后,我遇到了 OpenVPN 和 SELinux 冲突的老问题。显然 SELinux 阻止openvpn启动。

OpenVPN 已通过网络连接设置,我有三个文件:

  • 用户证书为: cer.pem
  • CA 证书为: ca.pem
  • 私钥为: key.pem

一些解决方案说我应该将证书文件移动到~/.cert然后运行:

$ sudo restorecon -R -v ~/.cert
Run Code Online (Sandbox Code Playgroud)

然后 SELinux 将允许访问证书。

但是,在我启动之前openvpn,我已将这些证书保存在 Documents/certificates 文件夹中。当然,当我执行:

$ mv ~/Documents/certificates/cer.pem ~/.cert
Run Code Online (Sandbox Code Playgroud)

该文件将被移动到~/.cert网络连接中,并且不会有证书。

我试过使用cp而不是,mv但这没有帮助,但我仍然有这个老冲突问题。

slm*_*slm 5

SELinux 禁止openvpn可执行文件访问文件系统上特定位置的文件。处理这些问题的最好朋友是使用 SELinux 故障排除程序 GUI。

$ sealert -b 
Run Code Online (Sandbox Code Playgroud)

   SS#1

然后,您需要按照建议将必要的上下文添加到您的文件系统以安抚 SELinux。

    党卫军#2

注意:在上面的示例中,我选择了第二个选项并将运行命令semanagerestorecon按照此处的说明解决我的问题。你需要为你的openvpn问题做同样的事情。它应该与我在屏幕截图中显示的相同。

为了解决这个问题,我运行了这些命令:

$ sudo semanage fcontext -a -t home_cert_t /home/slm/somedom.com.ca.crt
$ sudo restorecon -R -v /home/slm/somedom.com.ca.crt
Run Code Online (Sandbox Code Playgroud)

参考