semodule -
управление
модулями
политики SELinux.
semodule [option]... MODE...
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
checkmodule(8),
semodule_package(8)
Эта страница руководства была написана Dan Walsh <[email protected]>.
Программа была написана Karl MacMillan <[email protected]>, Joshua Brindle <[email protected]>, Jason Tang <[email protected]>.
Перевод на русский язык выполнила Герасименко Олеся <[email protected]>