Executando o apache2 no Ubuntu 12.04, usando mod-apparmor para suporte a mudança de chapéu.
Eu instalei e verifiquei que o mecanismo de troca está funcionando, mas não está funcionando para os chapéus incluídos externamente, como o exemplo fornecido por phpSysInfo
pelo pacote mod-apparmor
.
Estou curioso para saber por que essa inclusão externa específica não funciona, quando outros tipos de inclusão (ou seja, as "abstrações") estão funcionando. É estranho que o mantenedor do pacote configure isso dessa forma, se não funcionar.
O chapéu funciona bem se não for fornecido como "incluir", mas será gravado diretamente no perfil apache2
.
O layout do arquivo de configuração pertinente é assim:
/etc/
| apparmor.d/
| | apache2.d/
| | | phpsysinfo
| | usr.lib.apache2.mpm-prefork.apache2
E os chapéus estão incluídos no perfil do apache como este, conforme fornecido pelo mantenedor do pacote:
/usr/lib/apache2/mpm-prefork/apache2 flags=(complain) {
#include <apache2.d>
}
Com o arquivo do chapéu ( apache2.d/phpsysinfo
) parecido com isto:
^phpsysinfo {
#include <abstractions/apache2-common>
#include <abstractions/base>
...
}
Tags apparmor apache-2.2 ubuntu