在 Linux 中启用 AppArmor

在 Linux 中启用 AppArmor

我已经编译了一个内核(linux-libre-xtreme)这个配置,它启用了大多数 LSM:YAMA、SMACK、AppArmor、TOMOYO 和 SELinux。但是,当我使用 OpenRC 启动 apparmor 服务时,我得到:

# rc-service apparmor start
 * Stopping AppArmor ...
 *   Unloading AppArmor profiles
 *   Root privileges not available                                                                                                                                [ !! ]
 * Starting AppArmor ...
 *   Loading AppArmor profiles ...
Cache read/write disabled: interface file missing. (Kernel needs AppArmor 2.4 compatibility patch.)
Warning: unable to find a suitable fs in /proc/mounts, is it mounted?
Use --subdomainfs to override.
 *   /etc/apparmor.d/usr.bin.apache2 failed to load
Cache read/write disabled: interface file missing. (Kernel needs AppArmor 2.4 compatibility patch.)
Warning: unable to find a suitable fs in /proc/mounts, is it mounted?
Use --subdomainfs to override.

其他配置文件也抱怨,但是我也编译过的其他内核不会发生这种情况(linux-libre-lts-apparmor,请参阅其配置这里

我究竟做错了什么?如果我cat /sys/module/apparmor/parameters/enabled使用 linux-libre-xtreme 内核,我会得到N,但使用 linux-libre-lts-apparmor 时,它会说Y,所以我知道这不是来自引导加载程序的内核参数。

答案1

通过禁用解决,似乎CONFIG_DEFAULT_SECURITY_DAC=y只能启用一个CONFIG_DEFAULT_SECURITY_*

编辑:我还发现,为了在启动时默认启用 AppArmor,SECURITY_APPARMOR_BOOTPARAM_VALUE 必须设置为“1”,如下所示:CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1

相关内容