Linux-Kernel
在 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
,所以我知道這與引導載入程序中的核心參數無關。
通過禁用解決,似乎
CONFIG_DEFAULT_SECURITY_DAC=y
只有一個啟用CONFIG_DEFAULT_SECURITY_*
**編輯:**我還發現,要在啟動時預設啟用 AppArmor,必須將 SECURITY_APPARMOR_BOOTPARAM_VALUE 設置為“1”,如下所示:
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1