Über diesen Befehl laden die AppArmor-Befehle neue Profile und ersetzen vorhandene Profile. Sie können diesen Befehl auch selbst benutzen, um ein geändertes Profil neu zu laden oder ein Profil zu entfernen.
Der Befehl bietet hierfür die folgenden Optionen an:
# apparmor_parser -a usr.bin.nmap Addition succeeded for "/usr/bin/nmap".Achtung: Bereits gestartete Anwendungen werden von einem nachträglich geladenen Profil nicht überwacht.
Befinden Sie sich in dem Verzeichnis /etc/apparmor.d so ist die Angabe des Pfades nicht erforderlich.
# apparmor_parser -r /etc/apparmor.d/usr.sbin.httpd2-prefork Replacement succeeded for "/usr/sbin/httpd2-prefork".
apparmor_parser -d /etc/apparmor.d/usr.bin.nmap Error: #include <abtractions/base> not found. line 6 in /etc/apparmor.d/usr.bin.nmapDabei prüft der Parser, ob sämtliche Schlüsselwörter bekannt sind und sämtliche Include-Dateien existieren. Das Vorhandensein der in den Regeln definierten Dateien prüft er nicht.
Wenn Sie die Debug-Option doppelt angeben, wertet er alle Regeln und Include-Dateien aus und gibt Ihnen das Ergebnis auf dem Bildschirm aus. So können Sie nachvollziehen, auf welche Dateien tatsächlich die Applikation zugreifen darf:
# apparmor_parser -dd /etc/apparmor.d/usr.bin.nmap ----- Debugging built structures ----- Name: /usr/bin/nmap Subname: NULL Type: Default Allow Capabilities: net_bind_service net_raw --- Entries --- Mode: rw Name: (/dev/console) Mode: w Name: (/dev/log) Mode: rw Name: (/dev/null) Mode: r Name: (/dev/pts) Mode: rw Name: (/dev/pts/[0-9]*) ...Gerade diese letzte Funktion kann durchaus bei der Fehlersuche behilflich sein. Sie können in der Ausgabe mit grep nach bestimmten Dateien suchen und die Rechte bei Zugriff auslesen.
Ralf Spenneberg 2007-11-13