Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Cześć.
Nie wiem czy wybrałem odpowiedni dział do zadania tego pytania...
Kilka dni temu podczas startu systemu zobaczyłem, że jest problem z usługą 'apparmor.service'
i żeby sprawdzić systemctl status. Więcej info nie było, pozostałe usługi startują bez problemu.
Po zalogowaniu się do systemu, spradziłem to polecenie, wynik wygląd tak:
$ systemctl status apparmor.service ● apparmor.service - Load AppArmor profiles Loaded: loaded (/lib/systemd/system/apparmor.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2024-05-16 22:53:19 CEST; 8h ago Docs: man:apparmor(7) https://gitlab.com/apparmor/apparmor/wikis/home/ Main PID: 384 (code=exited, status=1/FAILURE) $ systemctl is-enabled apparmor enabled $ systemctl is-active apparmor failed
W logach nie widzę żadnych informacji dotyczących problemów (nie ma nic z exit-code, Failure, co
dotyczy AppArmor. W ogóle, nie ma takich wpisów). Profile są załadowane (polecenie aa-status).
Dla pewności, sprawdziłem czy działanie na profilach jest możliwe, więc dodałem regułę 'deny network,'
do Firefoksa, przeładowałem profil i żadna strona się nie wczytała, więc wszystko w porządku.
W pliku '/lib/systemd/system/apparmor.service' nie wprowadzałem żadnych zmian. Polecenie systemctl --failed
wskazało trzy problemy - z pozostałymi dwom poradziłem sobie. Został AppArmor.
Polecenie journalctl ma wpisy, tylko z okresu: Logs begin at Thu 2023-02-23 13:33:55 CET, end at Thu 2023-02-23 21:53:28 CET.
W sumie nigdy nie bawiłem się tym polecenim.
Czy ktoś z Was może pomóc mi namierzyć błąd powodujący problem ze startem usługi AppArmor?
Czy zostawić to skoro profile są załadowane i działają?
Pozdro!
Ostatnio edytowany przez wiarus (2024-05-17 15:14:04)
Offline
Apparmor to nie jest demon systemowy tylko moduł kernela LInux.
Najpierw sprawdź, czy profile apparmora są wczytane:
cat /sys/kernel/security/apparmor/profiles
oraz
aa-status
Offline
Cześć Jacku.
Masz rację, to moduł kernela, przepraszam kompletne zaćmienie. Tak, profile są wczytane:
$ sudo bash -c 'cat /sys/kernel/security/apparmor/profiles' /usr/bin/pavucontrol (enforce) /usr/lib/bluetooth/bluetoothd (enforce) /usr/bin/youtube-dl (enforce) (...) $ sudo aa-status apparmor module is loaded. (...) $ cat /sys/module/apparmor/parameters/enabled Y
Nie podaję całych wyników, bo w przypadku obu poleceń o których napisałeś, wygląda to tak,
jak wyżej, czyli w porządku.
Offline
Czyli jakiś błąd jest w skrypcie uruchamiającym apparmora przez systemd, możesz nad tym kombinować, ale powodu do paniki nie ma.
EDIT:
# root ~> cat /lib/systemd/system/apparmor.service | grep Exec ExecStart=/lib/apparmor/apparmor.systemd reload ExecReload=/lib/apparmor/apparmor.systemd reload # this behaviour, therefore we have to make ExecStop a no-op to error out on the ExecStop=/bin/true
Nie wiem, co SystemD może spartolić w takim poleceniu uruchomienia.
Jak widać, kreatywność devóv SystemD jest nieskończona. xD
Spróbuj ręcznie z palca uruchomić to polecenie w następujący sposób:
#logujesz się na powlokę roota przez sudo: sudo su #sprawdzasz, czy jesteś na koncie root, w przeciwnym razie Cię wyloguje: whoami | grep root || exit # teraz właściwe polecenie: /lib/apparmor/apparmor.systemd reload
Pozdro
Ostatnio edytowany przez Jacekalex (2024-05-17 12:14:20)
Offline
Jacku jesteś Wielki!
Polecenie uruchamiana jest oczywiście identyczne, jak u Ciebie.
Zalogowanie się na powłokę root'a i przeładowanie AppArmor, wypluło błąd
dotyczący profilu /usr/bin/apt i konfliktu z modyfikatorem x
w odniesieniu do profilu /{usr/,}bin/dpkg (na razie wyłączony).
W profilu apt zakomentowałem regułę odnoszącą się do dpkg,
wyszedłem z powłoki root'a, zrestartowałem AppArmor i sprawdziłem status:
$ systemctl status apparmor.service ● apparmor.service - Load AppArmor profiles Loaded: loaded (/lib/systemd/system/apparmor.service; enabled; vendor preset: enabled) Active: active (exited) since Fri 2024-05-17 14:57:31 CEST; 3s ago Docs: man:apparmor(7) https://gitlab.com/apparmor/apparmor/wikis/home/ Process: 2857 ExecStart=/lib/apparmor/apparmor.systemd reload (code=exited, status=0/SUCCESS) Main PID: 2857 (code=exited, status=0/SUCCESS)
Jeszcze raz, dziękuję Ci! Sam, chyba nigdy nie wiedziałbym z której strony to ugryźć.
Swoją drogą, fajnie byłoby, gdyby systemctl status podawał takie informacje albo gdyby
były dostępne np. w logach systemowych itd.
Pozdro, Jacku!
Offline