Я пытаюсь собрать небольшой модуль selinux, чтобы лучше понять selinux. Я определил небольшой тип приложения, похожий на демона, с его собственным port_type. Следующий код представляет собой сокращенную версию, заменяющую мой собственный тип приложения на httpd_t:
module mymodule 1.0;
require {
type httpd_t;
attribute port_type;
class tcp_socket name_bind;
}
#============= my_port_t ==============
type my_port_t, port_type;
allow httpd_t my_port_t:tcp_socket name_bind;
Теперь я хотел бы поместить фактический номер (а) порта для my_port_t в модуль (или сгенерированный пакет). Цель состоит в том, чтобы избежать явного вызова semanage, подобного этому:
semanage port -a -t my_port_t -p tcp 9011
Я знаю, что semanage делает номер порта постоянным, но я бы предпочел иметь один файл, который обо всем позаботится. Таким образом, распространение модуля на многие системы будет намного проще.
Как я могу это сделать? Пока не нашел решения. Я неправильно подхожу к этому?