6.4. Fehlerbehebung

Der folgende Abschnitt behandelt die gängigsten Probleme und Fehlermeldungen, die beim Einsatz von Novell AppArmor auftreten können.

SUSE Linux ist installiert, aber AppArmor wird nicht im YaST-Menü angezeigt

AppArmor wird standardmäßig installiert, wenn der GNOME- oder KDE-Desktop zum Zeitpunkt der Installation ausgewählt wird. Wenn Sie Minimales grafisches System oder Expertenmodus wählen, ist AppArmor nicht standardmäßig inbegriffen. Verwenden Sie in diesen Fällen YaST, um die fehlenden Pakete zu installieren. Weitere Informationen hierzu finden Sie im Novell AppArmor 2.0-Installations und Einführungshandbuch.

Merkwürdiges Anwendungsverhalten

Wenn Sie ein merkwürdiges Verhalten oder ein anderes Anwendungsproblem bemerken, sollten Sie zunächst anhand der Ablehnungsmeldungen in den Proto­kolldateien prüfen, ob AppArmor Ihre Anwendung zu stark einschränkt.

Starten Sie zur Prüfung der Ablehnungsmeldungen YaST+Novell AppArmor und rufen Sie AppArmor-Berichte auf. Wählen Sie Archiv anzeigen und App Aud für den Anwendungsprüfbericht. Sie können Datum und Uhrzeit filtern, um die Zeitspanne einzugrenzen, in der das seltsame Anwendungsverhalten begann.

Probleme mit Apache

Apache startet nicht ordnungsgemäß oder stellt keine Webseiten bereit und Sie haben gerade ein neues Modul installiert oder eine Konfigurationsänderung vorgenommen.

Wenn Sie zusätzliche Apache-Module installieren (wie mod-apparmor) oder Konfigurationsänderungen in Apache durchführen, sollten Sie erneut die Apache-Profilerstellung ausführen, um etwaige zusätzliche Regeln zu ermitteln, die dem Profil hinzugefügt werden müssen.

Berichte werden nicht per E-Mail gesendet

Wenn die Berichtfunktion eine HTML- oder CSV-Datei generiert, die die Standardgröße überschreitet, wird die Datei nicht gesendet. Mailserver haben eine standardmäßige, feste Größenbeschränkung für E-Mails. Diese Beschränkung kann die Fähigkeit von AppArmor zum Senden von E-Mails behindern, die zu Berichtzwecken generiert wurden. Wenn Ihre Mail nicht ankommt, könnte dies der Grund sein.

Benutzer müssen über die Begrenzung der Mailgröße Bescheid wissen und sollten in ihren Archiven prüfen, ob E-Mails nicht empfangen wurden.

Ausschließen von bestimmten Profilen aus der Liste der verwendeten Profile

AppArmor lädt stets alle Profile und wendet sie an, die sich in seinem Pro­filverzeichnis (/etc/apparmor.d/) befinden. Wenn Sie entscheiden, ein Profil nicht für eine bestimmte Anwendung zu nutzen, löschen Sie das betreffende Profil oder verschieben Sie es an einen anderen Speicherort, an dem AppArmor nicht danach sucht.

Der Betrieb von AppArmor kann verschiedene Fehler generieren. Im Folgenden erhalten Sie eine Liste der möglichen Fehler und deren Beseitigung.

Can’t find apparmor_parser (apparmor_parser nicht gefunden)

Wenn Sie logprof als Nicht-root-Benutzer, z. B. als tux, ausführen, sehen Sie wahrscheinlich diesen Fehler:

tux@localhost:~> /usr/sbin/logprof
Can’t find apparmor_parser.
[Note]Anmerkung

Sie sollten logprof nur als root ausführen.

/usr/sbin/genprof must be run as root (/usr/sbin/genprof muss als root ausgeführt werden)

Das Ausführen von genprof als Nicht-root-Benutzer führt zu einem ähnlichen Ergebnis:

tux@localhost:~> /usr/sbin/genprof
/usr/sbin/genprof must be run as root.
Unloading AppArmorprofiles..failed (Entladen von Unterdomänen-Profilen fehlgeschlagen)

Sie müssen die Skripts "apparmor start" und "apparmor stop" als root ausführen. Die Ausführung als Nicht-root-Benutzer führt zu diesem Ergebnis:

tux@localhost:~> /etc/init.d/apparmor stop
/sbin/apparmor_parser: Sorry. You need root priveleges to run this program.
Unloading AppArmor profiles..failed
AppArmor parser error (AppArmor-Analysefehler)

Das folgende Beispiel zeigt die Syntax des vollständigen Analysefehlers.

Bei der manuellen Bearbeitung von Novell AppArmor-Profilen können sich Syntaxfehler einschleichen. Wenn Sie versuchen, AppArmor mit Syntaxfehlern in den Profilen zu starten oder neu zu starten, erhalten Sie Fehler wie den folgenden:

localhost:~ # /etc/init.d/apparmor start
Loading AppArmor profiles
AppArmor parser error, line 2: Found unexpected character: ’h’
Profile /etc/apparmor.d/usr.sbin.squid failed to load
failed