Утилита semanage#

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

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

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

semanage <command> <options> <args>

Где:

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

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

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

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

Команда

Описание

fcontext

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

port

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

boolean

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

permissive

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

user

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

import

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

export

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

login

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

interface

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

module

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

node

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

dontaudit

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

ibpkey

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

ibendport

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

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

Опция

Описание

-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-подобных систем) читать и записывать файлы.