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

Как сопоставить правила / переходы / метки / и т.д. selinux с модулями

Мне нужно соответствовать запущены / загружены правила / переходы / метки / и т. д. selinux в модули политики selinux, в которых они определены (semodules -l). Мне это нужно, потому что я хочу изучить некоторые модули политик selinux в контексте, и мне нужно знать, какие из них мне следует проверить.

Есть ли более простой способ сделать это, чем загрузить все связанные с selinux пакеты "src", отфильтровать неиспользуемые модули и найти полученную информацию в полученных файлах?

Видимо, нет способа сделать это. Это может быть связано с тем, что политика, которую использует машина, составлен из модулей, которые существуют только в исходном коде:

# file /etc/selinux/default/policy/policy.26
/etc/selinux/default/policy/policy.26: SE Linux policy v26 MLS 8 symbols 7 ocons

# file -i /etc/selinux/default/policy/policy.26
/etc/selinux/default/policy/policy.26: application/octet-stream; charset=binary

Сама подробная информация о том, какой модуль включал, какое правило теряется после этапа компиляции.

Однако, учитывая, что вы хотите учиться некоторые Модули политики SELinux (как в некоторые специфические модули), вы можете сделать наоборот, либо:

  1. Установите refpolicy пакет для вашего дистрибутива. Он содержит исходный код (да, не то, что вы просили, но, вероятно, самый простой способ)

  2. Извлеките всю информацию из скомпилированного файл пакета политики. Вы можете найти эти файлы в /etc/selinux/$policy/modules/active/modules/*pp. Очень подробное объяснение того, как декомпилировать модуль, уже было опубликовано Вот.