{{tag>Apparmor }}
====== Apparmor Fehler / Bootvorgang stoppt ======
Ubuntu 12.04 LTS nutzt üblicherweise Kernel 3.2.x. Aktualisiert man das System z.B. via
apt-get update
apt-get dist-upgrade
werden in diesem Zuge ggf. neuere (>=3.5), für 12.04 LTS backported, Kernel installiert.
Unter Ubuntu wird zudem die Software Apparmor eingesetzt. Diese stellt ein Sicherheitsmodul dar,
dessen Aufgabe es ist, Anwendungen / Prozesse mit Netzzugriff zu kontrollieren, um festzustellen, ob
das System kompromittiert wurde. Hierzu werden verschiedene sog. Profile genutzt, um solche Änderungen
pro Prozess erkennen zu können.
Systemeinstellungen werden unter /etc/apparmor
abgelegt.
Die Profile selbst finden sich unter /etc/apparmor.d/
.
Apparmor kennt drei sog. Modi für die jeweiligen Profile:
* complain - Lernmodus: Bei Verstößen erfolgt nur ein Logging
* enforce - Bei Verstößen erfolgt ein Unterbinden der Aktion(en)
* audit - Prüft alle Regelanwendungen und Verstöße - nur Logging
siehe hierzu auch ausführlich: [[http://wiki.ubuntuusers.de/AppArmor]]
Ein neuerer Kernel kann in Verbindung mir Apparmor ggf. zu Problemen unter
Ubuntu 12.04 LTS führen. Dies äußert sich darin, dass z.B. der gesamt Bootvorgang
gestoppt wird oder z.B. unter //dmesg// Hinweise auf Apparmoraktionen zu finden sind.
Letzteres könnte dann so aussehen:
41.813892] type=1400 audit(1382444205.007:25): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=2108 comm="apparmor_parser"
[ 41.954786] type=1400 audit(1382444205.147:26): apparmor="DENIED" operation="open" parent=1 profile="/usr/sbin/cupsd" name="/etc/ldap/ldap.conf" pid=2113 comm="cupsd" requested_mask="r" denied_mask="r" fsuid=0 ouid=113
[ 246.800188] type=1400 audit(1382444410.307:27): apparmor="DENIED" operation="capable" parent=1 profile="/usr/sbin/cupsd" pid=2113 comm="cupsd" pid=2113 comm="cupsd" capability=36 capname="block_suspend"
[ 1145.078713] type=1400 audit(1382445310.146:28): apparmor="DENIED" operation="capable" parent=1 profile="/usr/sbin/cupsd" pid=2113 comm="cupsd" pid=2113 comm="cupsd" capability=36 capname="block_suspend"
[13232.152730] type=1400 audit(1382457415.867:29): apparmor="DENIED" operation="capable" parent=1 profile="/usr/sbin/cupsd" pid=2113 comm="cupsd" pid=2113 comm="cupsd" capability=36 capname="block_suspend"
[13725.711441] type=1400 audit(1382457910.173:30): apparmor="DENIED" operation="capable" parent=1 profile="/usr/sbin/cupsd" pid=2113 comm="cupsd" pid=2113 comm="cupsd" capability=36 capname="block_suspend"
Dies kann zum einen an "defekten" Profildateien liegen bzw. auch an einem bekannten Bug von Apparmor, der scheinbar bislang nicht endgültig behoben wurde.
(siehe hierzu: [[https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1199933]] - Kernel > 3.2 & block_suspend bereiten hier scheinbar Probleme )
Ein einfaches Update der installierten Apparmor-Version scheint das Problem nicht zu beheben.
Bei auftretenden Problemen kann Apparmor zunächst wie folgt deaktiviert und deinstalliert werden:
sudo /etc/init.d/apparmor stop
sudo update-rc.d -f apparmor remove
sudo apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1
rm -rf /etc/apparmor*
update-initramfs -u
Danach arbeitet das System ohne Apparmor und es können updates etc. ohne Fehlermeldungen durchgeführt werden.
Apparmor ist unter Ubuntu 12.04 LTS wie folgt neu zu installieren:
apt-get install apparmor apparmor-utils
Weitere Hinweise zur Nutzung von Profilen etc. finden sich unter: [[http://wiki.ubuntuusers.de/AppArmor]]