Pourquoi la commande setsebool de SELINUX prend-elle si longtemps et si lentement?

9

J'ai remarqué que la commande setsebool prend plus de temps que les autres commandes Linux. Tel que:

setsebool -P ftp_home_dir ON

Par curiosité, je veux savoir pourquoi la commande "setsebool" a besoin de si longtemps pour terminer la tâche?

Xianlin
la source
1
time setsebool -P ftp_home_dir ON. Combien de temps considérez-vous longtemps?
jordanm
1
essayé la commande comme ci-dessus et le temps "réel" est d'environ 30 secondes. Habituellement, une commande Linux normale time setenforce 0donnera environ 0,011 s de temps "réel". Je pense que 30 secondes est un peu long et je me demande ce qui se passe au niveau du backend?
Xianlin
strace -f setsebool -P ftp_home_dir ONet voyez où exactement cela prend son temps doux.
Flup
Je pense que j'ai besoin de plus de connaissances en programmation pour comprendre la sortie strace .. Je suppose que c'est parce que selinux implique trop de changements de niveau "profonds" sur le système linux et c'est pourquoi cela prend tellement de temps pour terminer une commande.
Xianlin
SELinux doit-il recompiler ses règles lorsque vous effectuez une modification? Je pensais me souvenir de l'avoir lu quelque part.
functionvoid

Réponses:

5

La raison pour laquelle il est si lent est qu'il effectue une compilation complète de la stratégie lorsque vous exécutez la commande. (Voir ce BZ: https://bugzilla.redhat.com/show_bug.cgi?id=811656 , Dan Walsh est l'un des responsables de la politique SELinux sur RHEL et Fedora). Il a été corrigé dans les versions ultérieures de Fedora, ce qui signifie qu'il finira probablement par être corrigé dans EL7 et éventuellement dans les versions ultérieures d'EL6.

jsbillings
la source