semodule - это утилита, которая используется для управления модулями политики SELinux, включая установку, обновление, вывод списка и удаление модулей. semodule также можно использовать для принудительной пересборки политики из хранилища модулей и/или для принудительной перезагрузки политики без выполнения других транзакций. semodule применяется к пакетам модулей, созданным с помощью semodule_package. По соглашению эти файлы имеют суффикс .pp (пакет политики), хотя это никак не регламентируется.
-R, --reload принудительно перезагрузить политику
-B, --build принудительно пересобрать политику (также выполнит перезагрузку, если не используется -n)
-D, --disable_dontaudit временно удалить правила dontaudit из политики (изменения отменяются при пересборке политики)
-i,--install=MODULE_PKG установить/заменить пакет модуля
-u,--upgrade=MODULE_PKG устарел, псевдоним для --install
-b,--base=MODULE_PKG устарел, псевдоним для --install
-r,--remove=MODULE_NAME удалить существующий модуль с указанным приоритетом (по умолчанию: -X 400)
-l[KIND],--list-modules[=KIND] вывести список установленных модулей (отличных от базовых)
KIND:
standard вывести модули с высшим приоритетом, включённые, небазовые
full вывести все модули
-X,--priority=PRIORITY установить приоритет для следующих операций (1-999)
-e,--enable=MODULE_NAME включить модуль
-d,--disable=MODULE_NAME отключить модуль
-E,--extract=MODULE_PKG извлечь модуль из хранилища в текущий каталог как файл HLL или CIL. По умолчанию модуль извлекается как файл HLL. Имя записываемого модуля - <module-name>.<lang_ext>
-s,--store имя хранилища, над которым следует выполнить операцию
-n,--noreload,-N не перезагружать политику после фиксации
-h,--help вывести справочное сообщение и выйти
-P,--preserve_tunables сохранить настраиваемые параметры в политике
-C,--ignore-module-cache перекомпилировать модули CIL, собранные из файлов HLL
-p,--path использовать альтернативный путь для корневого расположения политики
-S,--store-path использовать альтернативный путь для корневого расположения хранилища политики
-v,--verbose подробно
-c,--cil извлечь модуль как файл CIL. Это влияет только на параметр --extract и модули, перечисленные в --extract после этого параметра.
-H,--hll извлечь модуль как файл HLL. Это влияет только на параметр --extract и модули, перечисленные в --extract после этого параметра.
# Установить или заменить базовый пакет политики. $ semodule -b base.pp # Установить или заменить небазовый пакет политики. $ semodule -i httpd.pp # Установить или заменить все небазовые модули в текущем каталоге. # Этот синтаксис можно использовать с -i/u/r/E, но после имён модулей нельзя вводить какие-либо другие параметры. $ semodule -i *.pp # Установить или заменить все модули в текущем каталоге. $ ls *.pp | grep -Ev "base.pp|enableaudit.pp" | xargs /usr/sbin/semodule -b base.pp -i # Вывести список небазовых модулей. $ semodule -l # Вывести список всех модулей, включая их приоритет. $ semodule -lfull # Удалить модуль с приоритетом 100. $ semodule -X 100 -r wireshark # Включить все сообщения кэша вектора доступа (AVC), для которых SELinux сейчас использует правила "dontaudit". $ semodule -DB # Включить правила "dontaudit" обратно. $ semodule -B # Отключить модуль (будут отключены все экземпляры данного модуля независимо от их приоритета). $ semodule -d alsa # Установить модуль с указанным приоритетом. $ semodule -X 100 -i alsa.pp # Вывести список всех модулей. $ semodule --list=full # Установить альтернативный путь для корневого расположения политики. $ semodule -B -p "/tmp" # Установить альтернативный путь для корневого расположения хранилища политики. $ semodule -B -S "/tmp/var/lib/selinux" # Записать HLL-версию модуля puppet и CIL-версию модуля wireshark # с приоритетом 400 в текущий рабочий каталог $ semodule -X 400 --hll -E puppet --cil -E wireshark
Эта страница руководства была написана Dan Walsh <dwalsh@redhat.com>. Программа была написана Karl MacMillan <kmacmillan@tresys.com>, Joshua Brindle <jbrindle@tresys.com>, Jason Tang <jtang@tresys.com>. Перевод на русский язык выполнила Герасименко Олеся <gammaray@basealt.ru>