Die SELinux-Konfiguration wird vom selinux-policy-targetedPaket bereitgestellt , das die Standardrichtlinienkonfiguration für die Distribution enthält, einschließlich der SELinux-Konfiguration für Tomcat.
Ich konnte zwei alte Fedora-Verpackungsentwürfe finden, die die SELinux-Konfiguration in RPM-Verpackungen beschreiben.
PackagingDrafts / SELinux schlägt vor , einschließlich der Dateikennzeichnung Konfiguration in %postund %postunAbschnitte der Spec - Datei durch Ausführen semanage fcontext -aund semanage fcontext -djeweils Laufen restorecon/ fixfilesdanach.
Wie von Graham Legett hervorgehoben , ist es nützlich zu beachten, dass durch die Verwendung von semanagein %preoder %postAbschnitten der Spezifikation der gesamte Python-Stack zusammen mit der policycoreutils-pythonAbhängigkeit von der Installationszeit hinzugefügt wird . Mit restoreconfügt policycoreutils, was wiederum bringt sed, gawkund grepals Zeitabhängigkeiten installieren.
Ein besserer Weg, um die erforderlichen Regeln für die Dateibeschriftung bereitzustellen, wäre ein SELinux-Richtlinienmodul. Richtlinienmodule bieten eine übersichtlichere Oberfläche für die Verwaltung modularer Richtlinien (Kennzeichnungsregeln werden nicht mit lokalen Änderungen gemischt semanage).
Für Ihr Richtlinienmodul mit Dateibeschriftungsregeln müssen Sie eine Typdurchsetzungsdatei und eine Dateikontextbeschriftungsdatei bereitstellen. Eine Typ-Durchsetzungsdatei ist erforderlich, auch wenn Sie der Richtlinie keine Änderungen hinzufügen. Eine beispielhafte Dummy-Typ-Durchsetzungsdatei mymodule.te:
policy_module(mymodule, 1.0)
Die Regeln für die Dateikennzeichnung sind in mymodule.fcund folgen denselben:
/path/to/file -- gen_context(system_u:object_r:type_t,s0)
Mit selinux-policy-develkann das Modulpaket mit [Anmerkung 1] kompiliert werden :
make -f /usr/share/selinux/devel/Makefile
In Bezug auf Verpackungsrichtlinienmodule empfiehlt SELinux Policy Modules Packaging Draft in
ähnlicher Weise, die Abschnitte %postund %postunder Spezifikationsdatei zu verwenden, um die Richtlinie mit semoduleund restorecon/ zu installieren fixfiles. Eine Beispielspezifikationsdatei wird ebenfalls bereitgestellt.
[Anmerkung 1] Das Beispielrichtlinienmodul kann ohne selinux-policy-develVerwendung von checkmoduleund semodule_packagedirekt generiert werden. Dazu müssten die Richtliniendateien ohne Makros geschrieben werden.