在 Ubuntu 12.04 上运行 apache2,使用 mod-apparmor 支持 change-hat。
我已经安装并验证变化帽子是工作,但它不工作了外部包括帽子等提供的例如帽子phpSysInfo
由mod-apparmor
包。
我很好奇为什么这个特定的外部包含不起作用,当其他类型的包含(即:“抽象”)正在工作时。奇怪的是,如果它不起作用,包维护者会以这种方式设置它。
如果帽子不是作为“包含”提供,而是直接写入apache2
配置文件,则它可以正常工作。
相关的配置文件布局如下:
/etc/
| apparmor.d/
| | apache2.d/
| | | phpsysinfo
| | usr.lib.apache2.mpm-prefork.apache2
Run Code Online (Sandbox Code Playgroud)
并且这些帽子包含在这样的 apache 配置文件中,由包维护者提供:
/etc/
| apparmor.d/
| | apache2.d/
| | | phpsysinfo
| | usr.lib.apache2.mpm-prefork.apache2
Run Code Online (Sandbox Code Playgroud)
帽子文件 ( apache2.d/phpsysinfo
) 如下所示:
/usr/lib/apache2/mpm-prefork/apache2 flags=(complain) {
#include <apache2.d>
}
Run Code Online (Sandbox Code Playgroud)