Утилита semanage#

Описание#

semanage - инструмент управления политиками SELinux, который используется для настройки их определенных элементов без необходимости изменения или перекомпиляции из источников.

С помощью команды semanage login можно настроить сопоставление имен пользователей системы с идентификаторами пользователей SELinux, контролирующими начальный контекст безопасности, назначаемый пользователям при входе в систему, и ограничивающими их авторизованный набор ролей. За сопоставление идентификаторов с наборами ролей отвечает команда semanage user. При этом в большинстве случаев необходимо настроить только первое сопоставление, второе в основном определяется базовой политикой и обычно не требует изменений. Также задействованы сопоставления контекстов безопасности для различных типов объектов, например, сетевых портов, интерфейсов и node (хостов) и сопоставление контекста файлов.

Синтаксис утилиты:

semanage <command> <options> <args>

Где:

  • <command> - дополнительная уточняющая команда;

  • <options> - опции для команд;

  • <args> - аргументы.

Команды#

Часто используемые команды утилиты представлены в таблице ниже.

Команды semanage#

Команда

Описание

fcontext

Определение сопоставления контекста файла

port

Определение типов сетевых портов

boolean

Управление логическими значениями для выборочного включения функциональности

permissive

Включение режима принудительного применения типа процесса

user

Управление ролями и уровнями пользователей

import

Импорт локальных настроек

export

Вывод локальных настроек

login

Управление сопоставлением авторизации между пользователями системы и пользователями с ограниченным доступом SELinux

interface

Управление определениями типов сетевых интерфейсов

module

Управление модулями политики SELinux

node

Управление определениями типов сетевых узлов

dontaudit

Отключение/включение правила dontaudit (остановка проверки сообщений об отказе или прочих известных событиях) в политике

ibpkey

Управление определениями типов ключей для сетей infiniband

ibendport

Управление определениями типов конечных портов infiniband

Дополнительную информацию о каждой команде можно получить, выполнив команду man semanage-<command>, где <command> - необходимая команда.

Опции#

Часто используемые опции команд утилиты представлены в таблице ниже.

Опции semanage#

Опция

Описание

-a, --add

Добавить запись NAME к объекту OBJECT

-t, --type

Задать тип SELinux для объекта

-e, --equal

Заменить целевой путь исходным при создании метки по умолчанию. Используется с fcontext. Требует указания аргументов исходного и целевого пути. Маркировка контекста для целевого поддерева становится эквивалентной той, которая определена для источника

-f, --ftype

Установить тип файла. Используется с fcontext. Могут быть переданы параметры: f (обычный файл), d (каталог), c (символьное устройство), b (блочное устройство), s (сокет), l (символьная ссылка), p (именованный канал). Если тип файла не указан, то по умолчанию будет выбрано значение all files

-l, --list

Вывести список объектов

Пример использования#

Чтобы присвоить контекст samba_share_t файлу /path/to/file, используйте команду:

semanage fcontext -a -t samba_share_t /path/to/file

Где samba_share_t - это метка безопасности и тип SELinux, позволяющий Samba (пакет программ, предоставляющий услуги файлового и печатного сервера, а также сервиса сетевого протокола Windows (SMB) и протокола Common Internet File System (CIFS) для Unix-подобных систем) читать и записывать файлы.

Дополнительная информация#

Дополнительную информацию можно получить, выполнив команду:

man semanage

Или:

semanage --help

Или:

semanage -h