Warum dauert der Befehl setsebool von SELINUX so lange und langsam?

9

Ich habe festgestellt, dass der Befehl setsebool länger dauert als andere Linux-Befehle. Sowie:

setsebool -P ftp_home_dir ON

Aus Neugier möchte ich wissen, warum der Befehl "setsebool" so lange braucht, um die Aufgabe abzuschließen?

Xianlin
quelle
1
time setsebool -P ftp_home_dir ON. Wie lange denkst du über eine lange Zeit nach?
Jordan
1
versuchte den Befehl wie oben und "Echtzeit" ist etwa 30 Sekunden. Normalerweise gibt ein normaler Linux-Befehl time setenforce 0ungefähr 0,011 Sekunden "Echtzeit" aus. Ich habe das Gefühl, dass 30 Sekunden etwas lang sind und frage mich, was im Backend passiert?
Xianlin
strace -f setsebool -P ftp_home_dir ONund sehen, wo genau es seine süße Zeit nimmt.
Flup
Ich denke, ich brauche mehr Programmierkenntnisse, um die Strace-Ausgabe zu verstehen. Ich denke, das liegt daran, dass Selinux zu viele "tiefe" Level-Änderungen auf dem Linux-System beinhaltet und deshalb so viel Zeit benötigt, um einen Befehl auszuführen.
Xianlin
Muss SELinux seine Regeln neu kompilieren, wenn Sie eine Änderung vornehmen? Ich dachte, ich erinnere mich, dass ich das irgendwo gelesen habe.
Functionvoid

Antworten:

5

Der Grund dafür ist, dass beim Ausführen des Befehls eine vollständige Kompilierung der Richtlinie durchgeführt wird. (Siehe diese BZ: https://bugzilla.redhat.com/show_bug.cgi?id=811656 , Dan Walsh ist einer der Betreuer der SELinux-Richtlinie zu RHEL und Fedora). Es wurde in späteren Versionen von Fedora behoben, was bedeutet, dass es wahrscheinlich in EL7 und möglicherweise in späteren Versionen von EL6 behoben wird.

jsbillings
quelle