我无法在 Ubuntu 18 上为 apache2 创建适当的 AppArmor 配置文件。
当我按照这些步骤操作时,我无法扫描并构建 apache2 的配置文件,因为我的网站在 genprof 过程中出现以下失败:
注意:在我做任何事情之前,我用“service apache2 stop”停止了 apache
我运行 aa-genprof apache2
我收到启动服务并扫描的消息
然后我在另一个终端上“service apache2 start”。
然后我尝试访问我的 drupal 网站但出现“文件锁”错误并失败。
恢复我的网站的唯一方法是禁用配置文件,如下所示:
sudo ln -s /etc/apparmor.d/usr.sbin.apache2 /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.apache2
我已多次删除禁用符号链接和 apparmor apache2 配置,并尝试多次重新运行 aa-genprof,但每次都失败。
我也尝试过将 apache2 置于 aa-complain 模式,也尝试过 aa-logprof。我似乎无法让任何 apache apparmor 日志进入系统日志...
您建议我做什么?我想使用 aa-genprof 来帮助我为 apache2 构建 apparmor 配置。
答案1
您不需要 aa-genprof apache2。Apparmor 配置文件可用作 libapache2-mod-apparmor。请遵循以下 github 文档。
1)您需要 apache2 配置文件 libapache2-mod-apparmor。
apt install libapache2-mod-apparmor
2)启用它
aa-enforce /etc/apparmor.d/usr.sbin.apache2
如果您收到类似 aa-enforce not found 的错误。int apparmor-utils
apt-get install apparmor-utils
3)要配置你的appache,我遵循以下步骤:
a2enmod mpm_prefork
a2enmod apparmor
service apache2 restart
您可以在服务器故障中找到我的旧答案:
https://serverfault.com/questions/932410/enabling-apparmor-for-apache2-in-ubuntu-18-04