Назад | Перейти на главную страницу

Можно ли сохранять операторы порта selinux при перезагрузке?

В настоящее время нам нужно запускать что-то вроде этого каждый раз при запуске:

/usr/sbin/semanage port -a -t memcache_port_t -p tcp ${special-snowflake-port}

Было бы здорово, если бы мы могли сохранять это при перезагрузках. Ответ - скомпилировать остроту, но большой вопрос в том, как это сделать? Я ничего не видел в .fc файловая документация предполагает, что это может быть закодировано там, а .te синтаксис файла сложно читать. Тем не менее, очевидно, что составленные политики действительно устанавливают вещи, я просто не могу найти, как это сделать.

Что мне не хватает?

Я только что проверил команду, которую вы предоставляете в системе CentOS 6.5, она работает, как ожидалось, и добавляет ${special-snowflake-port} к tcp memcache_port_t список. Перезагрузка тестовой виртуальной машины не изменила этого, как видно из

semanage port -l | grep memcache_port_t
memcache_port_t                tcp      11311, 11211
memcache_port_t                udp      11211

Это сохраняется, пока вы его не удалите

semanage port -d -t memcache_port_t -p tcp 11311
semanage port -l | grep memcache_port_t
memcache_port_t                tcp      11211
memcache_port_t                udp      11211

Что вы не понимаете? Что заставляет вас думать, что это непостоянно?

Оказывается, они действительно сохраняются, и я этого не заметил. semanage хранит файловые представления политик в /etc/selinux/${config-file}/modules/active. В моем случае список портов находится в:

/etc/selinux/targeted/modules/active/ports.local

Это заполнено записями, подобными этой:

portcon tcp 11222 system_u:object_r:memcache_port_t:s0

Этот каталог восстанавливается каждый раз, когда правило добавляется (-a) или удаляется (-d) с помощью semanage.

file_contexts - это файл, сохраняющий контексты файлов.

Это удобно, так как эти файлы могут быть сгенерированы быстрее, чем вывод semanage -l.