【发布时间】:2013-04-03 18:42:42
【问题描述】:
我有一个挂载,需要从中设置一个 VirtualHost。 /opt/foo
当我在 SeLinux 上创建 VirtualHost 时,Apache 报告该目录不存在。
当我将 SeLinux 设置为许可模式时,它工作正常。
什么是设置我的/opt/foo 目录的正确方法,以便它在执行时可以与 Apache 和 SeLinux 一起使用?
【问题讨论】:
我有一个挂载,需要从中设置一个 VirtualHost。 /opt/foo
当我在 SeLinux 上创建 VirtualHost 时,Apache 报告该目录不存在。
当我将 SeLinux 设置为许可模式时,它工作正常。
什么是设置我的/opt/foo 目录的正确方法,以便它在执行时可以与 Apache 和 SeLinux 一起使用?
【问题讨论】:
首先,permissive 模式意味着 SELinux 只是将拒绝记录到审计日志中,但没有真正被拒绝。它仅用于调试和设置您的 SELinux 策略,当启用特权模式时,您的系统将不受 SELinux 保护。 Enforing 模式是具有限制和审核的完整 SELinux 功能。
在您的情况下,apache 无法访问 /opt/foo。见链接 https://superuser.com/questions/607409/configuring-selinux-to-allow-logging-to-a-file-thats-outside-var-log
但使用 SELinux 类型“httpd_sys_content_t”而不是“var_log_t”。
【讨论】:
/var/log/audit/audit.log 文件以获取调试信息,如答案中所述。