Die SELinux-Konfiguration wird vom selinux-policy-targeted
Paket 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 %post
und %postun
Abschnitte der Spec - Datei durch Ausführen semanage fcontext -a
und semanage fcontext -d
jeweils Laufen restorecon
/ fixfiles
danach.
Wie von Graham Legett hervorgehoben , ist es nützlich zu beachten, dass durch die Verwendung von semanage
in %pre
oder %post
Abschnitten der Spezifikation der gesamte Python-Stack zusammen mit der policycoreutils-python
Abhängigkeit von der Installationszeit hinzugefügt wird . Mit restorecon
fügt policycoreutils
, was wiederum bringt sed
, gawk
und grep
als 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.fc
und folgen denselben:
/path/to/file -- gen_context(system_u:object_r:type_t,s0)
Mit selinux-policy-devel
kann 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 %post
und %postun
der Spezifikationsdatei zu verwenden, um die Richtlinie mit semodule
und restorecon
/ zu installieren fixfiles
. Eine Beispielspezifikationsdatei wird ebenfalls bereitgestellt.
[Anmerkung 1] Das Beispielrichtlinienmodul kann ohne selinux-policy-devel
Verwendung von checkmodule
und semodule_package
direkt generiert werden. Dazu müssten die Richtliniendateien ohne Makros geschrieben werden.