SEMODULE "8" "Ноябрь 2005" "Security Enhanced Linux" NSA
ИМЯ
semodule - управление модулями политики SELinux.
ОБЗОР
semodule [option]... MODE...

ОПИСАНИЕ

semodule - это утилита, которая используется для управления модулями политики SELinux, включая установку, обновление, вывод списка и удаление модулей. semodule также можно использовать для принудительной пересборки политики из хранилища модулей и/или для принудительной перезагрузки политики без выполнения других транзакций. semodule применяется к пакетам модулей, созданным с помощью semodule_package. По соглашению эти файлы имеют суффикс .pp (пакет политики), хотя это никак не регламентируется.

"MODES"

-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
СМОТРИТЕ ТАКЖЕ
checkmodule (8), semodule_package (8)
АВТОРЫ
Эта страница руководства была написана Dan Walsh <dwalsh@redhat.com>.
Программа была написана Karl MacMillan <kmacmillan@tresys.com>, Joshua Brindle <jbrindle@tresys.com>, Jason Tang <jtang@tresys.com>.
Перевод на русский язык выполнила Герасименко Олеся <gammaray@basealt.ru>