[Arch Linux] Failed to start AppArmor profiles

Witam i zgłaszam się po pomoc! :slight_smile:

Zrobiłam proces kompilacji jądra Linux, wgrywając jego najnowszą wersję (4.1.6, dałam moduł AppArmor). Niestety, ale po ustawieniu, żeby AppArmor uruchamiał się na starcie, występują błędy. Są one związane z nieudaną próbą uruchomienia profilów wspomnianej paczki. Dałam do wpisu GRUB-a daną konfigurację:

apparmor=1 security=apparmor

Jednak nic to nie dało. Nadal wyświetla się błąd. Oto wynik komendy cat /sys/module/apparmor/parameter/enabled

N

Tutaj znajduje się wynik polecenia systemctl status apparmor.service:

● apparmor.service - AppArmor profiles
   Loaded: loaded (/usr/lib/systemd/system/apparmor.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since pon 2015-08-24 12:50:04 CEST; 9min ago
  Process: 382 ExecStart=/usr/bin/apparmor_load.sh (code=exited, status=1/FAILURE)
 Main PID: 382 (code=exited, status=1/FAILURE)

sie 24 12:50:04 eyesane systemd[1]: Starting AppArmor profiles...
sie 24 12:50:04 eyesane systemd[1]: apparmor.service: Main process exited, ...RE
sie 24 12:50:04 eyesane systemd[1]: Failed to start AppArmor profiles.
Hint: Some lines were ellipsized, use -l to show in full.

Mógłby mi ktoś pomóc? Byłabym bardzo wdzięczna! :slight_smile:

Neukrate.

Skompiluj jądro z opcjami:

CONFIG_SECURITY_APPARMOR=y
CONFIG_AUDIT=y

AppArmor wywala się prawdopodobnie przy generowaniu profili za pomocą audit, a audit do działania potrzebuje jądra skompilowanego

z dodatkowa opcją CONFIG_AUDIT.

 

Sprawdziłem u siebie i wygląda na to że działa.

Kompilowałem jądro według wiki: https://wiki.archlinux.org/index.php/Kernels/Compilation/Arch_Build_System

Ja robiłam tradycyjną metodą, wypakowywując paczkę linux-4.1.6 oraz edytując plik .conf. Niestety, ale już wcześniej te opcje zostały włączone, no ba, nawet zmieniłam

CONFIG_DEFAULT_SECURITY_APPARMOR na CONFIG_DEFAULT_SECURITY_APPARMOR=y

Gdyż tego wcześniej nie było.

Ale nic to nie dało. Nadal występuje błąd:

● apparmor.service - AppArmor profiles
   Loaded: loaded (/usr/lib/systemd/system/apparmor.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since wto 2015-08-25 12:58:00 CEST; 1min 14s ago
  Process: 387 ExecStart=/usr/bin/apparmor_load.sh (code=exited, status=1/FAILURE)
 Main PID: 387 (code=exited, status=1/FAILURE)

Jednak bez próby uruchomienia AppArmor Profiles.

Spróbuj skompilować jądro tą drugą metodą: https://wiki.archlinux.org/index.php/Kernels/Compilation/Arch_Build_System

Postępuj zgodnie z wiki:

  1. Opcjonalnie zmień nazwę paczki w pliku PKGBUILD zmieniając parametr pkgbase=linux-custom

  2. Dodaj dodatkowe opcje do pliku config.x86_64 za pomocą polecenia:

    echo ‘
    CONFIG_SECURITY_APPARMOR=y
    CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
    CONFIG_DEFAULT_SECURITY_APPARMOR=y
    CONFIG_AUDIT=y
    ’ >> config.x86_64

Wygeneruj nowe sumy kontrolne poleceniem:

updpkgsums

Zbuduj paczkę poleceniem:

makepkg -s --skippgpcheck

Zainstaluj paczki

Upewnij się że w pliku /etc/default/grub masz GRUB_CMDLINE_LINUX_DEFAULT=""

Wygeneruj konfiguracje gruba poleceniem:

grub-mkconfig -o /boot/grub/grub.cfg

Uruchom system z nowym jądrem (zwróć uwagę na komunikaty podczas botowania)

Sprawdź czy AppArmor działa.

 

Ewentualnie jeśli nie działa spróbuj systemctl restart apparmor a potem journalctl -xe

Zrobiłem u siebie dokładnie tak samo i działa.

Spróbuję tymczasem skompilować jądro metodą tradycyjną i zobaczę co może być nie tak.

ShadowMan_: Dziękuję naprawdę, teraz normalnie startuje, zero błędów podczas startu, AppArmor Profiles normalnie się włącza. Sprawdzałam komendą systemctl status apparmor.service, wszystko zielone :D. Nie pozostaje mi nic innego zrobić, jak tylko podziękować (czegoś się chyba nauczyłam, co nie? ;))

Pozdrowionka i podziękowania, Neukrate :).