Почему команда setsebool SELINUX принимает так долго и медленно?

9

Я заметил, что команда setsebool занимает больше времени, чем другие команды Linux. Такие как:

setsebool -P ftp_home_dir ON

Из любопытства я хочу знать, почему команде "setsebool" требуется так много времени для выполнения задачи?

Xianlin
источник
1
time setsebool -P ftp_home_dir ON, Как долго вы считаете долгое время?
Иордания
1
попробовал команду как указано выше и "реальное" время составляет около 30 сек. Обычно обычная команда linux time setenforce 0дает около 0,011 секунды «реального» времени. Я чувствую, что 30 секунд это немного долго и интересно, что происходит на сервере?
Xianlin
strace -f setsebool -P ftp_home_dir ONи посмотрим, где именно это берет свое сладкое время.
Flup
Я думаю, что мне нужно больше знаний по программированию, чтобы понять результаты работы strace. Я думаю, это потому, что selinux включает слишком много «глубоких» изменений уровня в системе linux, и поэтому для выполнения одной команды требуется так много времени.
Xianlin
Нужно ли SELinux перекомпилировать свои правила при внесении изменений? Я думал, я помню, что читал это где-то.
functionvoid

Ответы:

5

Причина, по которой он такой медленный, заключается в том, что он выполняет полную компиляцию политики при запуске команды. (См. Этот БЖ: https://bugzilla.redhat.com/show_bug.cgi?id=811656 , Дэн Уолш - один из тех, кто поддерживает политику SELinux в RHEL и Fedora). Это было исправлено в более поздних версиях Fedora, что означает, что, вероятно, оно будет исправлено в EL7 и, возможно, в более поздних выпусках EL6.

jsbillings
источник