Sobald SELinux läuft, werden Verstöße gegen die Regeln in der Log-Datei /var/log/syslog protokolliert.

    Aug 20 12:39:22 selinux-client kernel: [13.249632] type=1400 audit(1345459162.854:8): avc:
     denied  { search } for  pid=1777 comm="getty" name="/" dev=sda2 ino=2 scontext=system_u:system_r:getty_t:s0 tcontext=system_u:object_r:file_t:s0 tclass=dir

    Hierbei kann es jedoch auch sein, dass Verstöße erkannt werden, die eigentlich keine sind, sondern nur als Verstoß erkannt wurde, weil es keine Regeln für diese Aktion gab.

    Als Beispiel die oben genannte Meldung. Diese soll nun erlaubt werden. Dafür gibt es ein Tool Namens audit2allow, welches aus der Meldung ein entsprechendes Modul erstellt, dass anschließend geladen werden kann.

    grep getty /var/log/syslog |audit2allow -m getty
     module getty 1.0;
     require {
     type file_t;
     type getty_t;
     class dir search;
     }
     #============= getty_t ==============
     allow getty_t file_t:dir search;

    Dies war erstmal nur die Anzeige des Moduls, das Modul selbst kann dann wie folgt erstellt werden:

    grep getty /var/log/syslog |audit2allow -M getty

    Nun existiert in dem aktuellen Ordner eine Datei Namens getty.pp die installiert werden kann

    Modul persistent installieren

    semodule -i getty.pp

    Modul wieder entfernen

    semodule -r getty

    Installierte Module auflisten

    semodule -l

    Leave A Reply