Manpages

ИМЯ

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 [AT] redhat.com>.
Программа была написана Karl MacMillan <kmacmillan [AT] tresys.com>, Joshua Brindle <jbrindle [AT] tresys.com>, Jason Tang <jtang [AT] tresys.com>.
Перевод на русский язык выполнила Герасименко Олеся <gammaray [AT] basealt.ru>