web-dev-qa-db-ja.com

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/enabledlinux-libre-xtremeカーネルではNを取得しますが、linux-libre-lts-apparmorではYと表示されるので、カーネルパラメーターを使用したものではないことがわかります。ブートローダー。

1
Megver83

CONFIG_DEFAULT_SECURITY_DAC=yを無効にすることで解決され、有効になっているCONFIG_DEFAULT_SECURITY_*は1つだけであるようです。

EDIT:また、起動時にAppArmorをデフォルトで有効にするには、SECURITY_APPARMOR_BOOTPARAM_VALUEを次のように「1」に設定する必要があることも発見しました。CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1

0
Megver83