Semanage centos 7: How to Install SEmanage on CentOS 8

Содержание

Темные моменты SELinux / Хабр

В процессе эксплуатации систем с SELinux я выделил несколько интересных кейсов, решения которых вряд-ли описаны в Интернете. Сегодня я решил поделиться с вами своими наблюдениями в надежде, что число сторонников SELinux еще немного возрастет 🙂

0. Переустановка policy package

Если вы не знали, то сообщаю: весь SELinux насквозь файловый, и никакой магии там нет. Поэтому можно прям при включенном SELinux переустановить пакет полиси, если что-то пошло не так.

Пример для centos 7 & selinux-policy-minimum

#!/bin/sh
setenforce 0
semanage export > exports.semanage
yum remove -y selinux-policy-minimum
rm -rf /etc/selinux/minimum
yum install -y selinux-policy-minimum
semodule -RB
semanage import -f exports.semanage

1. SELinux в permissive mode, но часть команд не работает

Invalid process context

Причина в том, что некоторые программы пытаются изменить контекст ( по аналогии с setuid/setgid ) перед exec(3), но используют неверный контекст для этого.

Пример: демон crond, который обрабатывает crontab пользователя user, контекст которого неизвестен. В этом случае он execlp(3) вернет ошибку ‘Invalid context’.

Решение

  1. Сделать policy reload ( semodule -R )
  2. Посмотреть какой пользователь используется
  3. Посмотреть какой для него selinux-пользователь (semanage login -l)
  4. Убедиться в наличии файла /etc/selinux/$type/contexts/users/$username
  5. Если файла нет — сбросить на дефолт настройки при помощи переустановки policy package.

Invalid file context

Если по каким-то причинам авторелейбл не произошел и файл остался вообще без контекста, либо с мусором вместо контекста, доступ к нему так-же может быть заблокирован из-за того, что open(3) упадет при попытке сравнить контексты.

Решение

  1. Сделать restorecon /path -Rv
  2. Убедиться в правильности контекстов и в том, что загружены все модули
  3. Сделать policy reload ( semodule -R )
  4. Если не помогло — сбросить на дефолт настройки при помощи переустановки policy package.

2. После включения SELinux и перезагрузки все процессы запущены от kernel_t / В логах много ошибок про доступ к kernel_t

Как происходит включение SELinux?

  1. Создание файла /.autorelabel
  2. Перезагрузка, ядро видит этот файл и запускает autorelabeling
  3. Перезагрузка еще раз и запуск ядра с контекстом kernel_t.

Проблемы наступают на этапе два: ядро знает только о контекстах модулей, которые были явно включены до перезагрузки. Например, если не был включен модуль systemd, то:

  • Ядро запущено с контекстом kernel_t
  • Правил перехода контекста от kernel_t к systemd не срабатывают, т.к. relabel не назначил ему контекст init_exec_t, systemd наследует контекст kernel_t
  • Для демонов, которые запускает systemd, тоже не срабатывают правила перехода контекста, поскольку правила написаны для контекста init_t, а не kernel_t. Все демоны запущены от kernel_t.
  • .
  • FAIL

Решение

  • Перед созданием /.autorelabel вручную включить все нужные модули командой semodule -e $module, или
  • Сделать restorecon -R / после перезагрузки и перезагрузить систему еще раз, или
  • Сделать systemctl daemon-reexec и перезапустить всех демонов вручную, если вторая перезагрузка неприемлима
  • Воспользоваться утилитой offrestorecon* вместо /.autorelabel

3. После обновления policy package ничего не работает, все команды пишут ошибки

Это проблема возникает тогда, когда после обновления не могут быть решены циклические зависимости между модулями или контекстами. Например:

  • В версии 1.0 были сделаны настройки и добавлен модуль local_module
  • local_module проэкспортировал контекст local_module_file_t
  • Этот контекст при помощи semanage был назначен для «/opt/local(/.*)?»

При обновлении до версии 1.1 модуль local_module будет установлен после того, как будут применены настройки контекста для «/opt/local», что может привести к циклической зависимости. На самом деле от одного модуля это бывает редко, а вот когда их 30 и они ссылаются друг на друга и несут часть настроек «снаружи» ( через semanage fcontext или semanage port например ) — вот тогда проблемы почти гарантированы.

Решение

4. Долгая перезагрузка при включении SELinux

Autorelabeling — боль для владельцев больших серверов. Средний сервер с базой данных может перезагружаться 3-4 часа из-за включения SELinux, что абсолютно неприемлемо для бизнеса.

Решение

На самом деле метки на файлах лежат в extended-атрибутах файловой системы, доступ к которым можно получить при помощи команд getfattr(1)/setfattr(1)/attr(1). Атрибут называется security.selinux и содержит контекст в виде строки. При этом даже на выключенном SELinux работает команда matchpathcon из libselinux-utils, которая показывает дефолтный контекст для того или иного пути.

Совмещая оба этих факта, получаем возможность сделать audorelabel прямо во время работы сервера, не тратя на это время при перезагрузке.

Сегодня днем я выложил свой код на github, утилита называется offrestorecon. Не забудьте предварительно включить все нужные модули и удалить файл /.autorelabel!

5. После перезагрузки слетели все настройки переменных

Решение

Используйте ключ -P для setsebool, либо semanage boolean

Если вам интересна тема SELinux, присылайте комментарии по своим странным кейсам и их решениям, я буду добавлять их в эту статью. Возможно, что это сделает жизнь следующих security-админов немного проще.

Tor Project | CentOS / RHEL

1. Включите автоматическое обновление программ

Одно из главных условий защиты узла – своевременно устанавливать обновления безопасности. Лучше делать это автоматически, чтобы не забыть.
Следуйте инструкциям по включению автоматического обновления программ для вашей операционной системы.

2. Установите

epel-release

Для установки пакета tor в CentOS/RHEL нужно сначала разрешить использование репозитория EPEL. Чтобы это сделать, установите пакет epel-release:

# yum install epel-release

В последних версиях CentOS/RHEL вместо yum используется dnf:

# dnf install epel-release

Если у вас свежая версия с dnf, пожалуйста, продолжайте использовать её, несмотря на то, что в этом руководстве мы приводим примеры с yum.

3. Настройте репозиторий Tor Project

Настройка репозитория Tor Project для CentOS/RHEL состоит, главным образом, в изменении /etc/yum.repos.d/Tor.repo на следующие строки:

[tor]
name=Tor for Enterprise Linux $releasever - $basearch
baseurl=https://rpm.torproject.org/centos/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/centos/public_gpg.key
cost=100

4. Установите Tor

Установили репозитории EPEL и Tor? Теперь можете установить пакет Tor:

# yum install tor

Пожалуйста, имейте в виду: когда устанавливаете первый пакет из репозитория EPE, вас попросят верифицировать подписывающий GPG-ключ EPEL.
Пожалуйста, убедитесь, что ключ совпадает с одним из ключей на сайте Fedora Project.
То же самое понадобится при первой установке пакетов из репозитория Tor (и вам также надо убедиться, что ключи совпадают).

5. Создайте и установите obfs4proxy.

В сильно устаревших версиях git команда go get может и не сработать. Если вы столкнулись с такой проблемой, попробуйте обновить git до более свежей версии.

Установите пакет golang и прочие зависимости:

# yum install git golang policycoreutils-python-utils

Теперь скомпилируйте исполнимый файл и перенесите его в нужную папку:

export GOPATH='mktemp -d'
go get gitlab.com/yawning/obfs4.git/obfs4proxy
sudo cp $GOPATH/bin/obfs4proxy /usr/local/bin/
# chcon --reference=/usr/bin/tor /usr/local/bin/obfs4proxy

6. Найдите файл настроек Tor (обычно тут:

/etc/tor/torrc), откройте и замените содержимое на:

RunAsDaemon 1
BridgeRelay 1
# Замените "TODO1" портом Tor по своему выбору.  Этот порт должен быть доступен
# Избегайте порта 9001. Он обычно ассоциируется с Tor. Цензоры
# могут знать об этом, просматривая Интернет.
ORPort TODO1
ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy
# Замените "TODO2" портом obfs4 по своему выбору. Этот порт должен быть
# доступен извне и отличаться от порта ORPort.
# Избегайте порта 9001. Он обычно ассоциируется с Tor
# Цензоры могут знать об этом, просматривая Интернет.
ServerTransportListenAddr obfs4 0.0.0.0:TODO2
# Местный коммуникационный порт между Tor и obfs4. Всегда выбирайте значение "auto".
# "Ext" значит "расширенный", а не "внешний". Не пытайтесь установить конкретный
# номер порта или слушать 0.0.0.0.
ExtORPort auto
# Замените "<[email protected]>" вашим адресом email, чтобы мы могли связаться с вами
# в случае проблем с вашим мостом. Это необязательно, но желательно.
ContactInfo <[email protected]>
# Выберите название для своего моста. (Это необязательно).
Nickname PickANickname

Не забудьте изменить опции ORPort, ServerTransportListenAddr, ContactInfo и Nickname.

  • Обратите внимание: и OR-порт Tor, и порт obfs4 должны быть доступны. Если ваш мост находится за межсетевым экраном или NAT, убедитесь, что оба порта открыты. Чтобы проверить, доступен ли obfs4-порт из Интернета, можете использовать наш тест.

7. Перезапустите Tor

sudo semanage port -a -t tor_port_t -p tcp [OR port set earlier, in TODO1]

sudo semanage port -a -t tor_port_t -p tcp [obfs4 port set earlier, in TODO2]

В последних версиях CentOS/RHEL используется systemd:

# systemctl enable --now tor
... or restart it if it was running already, so configurations take effect
# systemctl restart tor

Если используете более старую версию, например, CentOS/RHEL 6:

# service tor enable
# service tor start

8. Следите за логами

Доказательством того, что ваш мост работает без проблем, служит примерно такая запись (обычно в /var/log/tor/log или /var/log/syslog):

[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit.  Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:3818 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

9. В завершение

Если у вас проблемы с настройкой моста, обратите внимание на наш раздел помощи.
Если ваш мост работает прямо сейчас, загляните в примечания после установки.

Как исправить ошибку semanage command Not Found в CentOS RHEL

Введение

Linux с улучшенной безопасностью (SELinux) — это механизм безопасности принудительного управления доступом (MAC), реализованный в ядре для обеспечения более детального контроля доступа. SELinux был разработан для расширения традиционных средств управления доступом Linux, основанных на идентификаторах пользователей и групп, для обеспечения обязательного контроля доступа (MAC). Это был важный шаг к повышению безопасности пользователей и приложений.

Команда semanage — это инструмент, который можно использовать для управления политиками SELinux, не требуя знания низкоуровневого языка политик SELinux. С помощью semanage вы можете создавать или редактировать политики SELinux и изменять различные аспекты модулей политики SELinux, такие как сопоставления пользователей, сопоставления контекста файлов, сопоставления типов портов и т. д.

Распространенное сообщение об ошибке: «команда semanage не найдена»

не установлен или его местоположение не включено в переменную среды PATH вашей системы.

Эта проблема может вызывать разочарование, поскольку она не позволяет вам управлять политиками SELinux с помощью стандартных команд, таких как semanage fcontext или semanage port -a. Однако у этой проблемы есть простое решение, которое можно устранить, установив правильные пакеты или правильно настроив систему.

Понимание ошибки

Причины ошибки

Ошибка «semanage command not found» возникает, когда пакет semanage не установлен в вашей системе CentOS/RHEL. Semanage — это инструмент командной строки, который помогает вам управлять политиками SELinux в вашей системе. Без этого инструмента вы не сможете выполнять важные задачи, такие как изменение контекста файлов или добавление новых политик.

Другой причиной этой ошибки может быть случайное или преднамеренное удаление пакета semanage из вашей системы. Это может произойти во время обновления программного обеспечения или если другой пакет конфликтует с ним.

Проверка того, установлен ли semanage

Чтобы проверить, установлен ли semanage в вашей системе CentOS / RHEL, откройте окно терминала и введите следующую команду —

 semanage
 

Если вы видите сообщение об ошибке «bash: semanage: команда не найдена», значит, semanage не установлен в вашей системе.

Проверка правильности настройки переменной PATH

Переменная PATH содержит список каталогов, в которых оболочка ищет команды. Если эта переменная настроена неправильно, вы можете получить ошибки при попытке запустить такие команды, как semanage. Чтобы проверить правильность настройки переменной PATH, откройте окно терминала и введите следующую команду:

 echo $PATH
 

Это покажет каталоги, в которых оболочка ищет команды.

Проверьте, включены ли в этот список «/usr/sbin» и «/sbin», так как это некоторые из распространенных каталогов, в которые устанавливается команда semanage. Если эти каталоги отсутствуют в вашей переменной PATH, вы можете добавить их, отредактировав файл профиля вашей оболочки (например, ~/.bash_profile или ~/.zshrc) и добавив их в конец строки PATH следующим образом:0005

 экспорт ПУТЬ=$ПУТЬ:/usr/sbin:/sbin
 

Выполнив следующие действия, вы сможете легко диагностировать ошибку и понять причины, которые привели к ее возникновению в вашей системе.

Исправление ошибки

Установка пакета semanage с помощью команды yum

Одним из возможных решений ошибки «команда semanage не найдена» является установка необходимого пакета semanage с помощью yum, менеджера пакетов для дистрибутивов CentOS и RHEL. Сначала проверьте, установлен ли yum, выполнив следующую команду —

 ням --версия
 

Если он еще не установлен, запустите эту команду, чтобы установить его —

 sudo yum install yum-utils
 

Установив Yum, выполните следующие команды в своем терминале, чтобы загрузить и установить необходимый пакет semanage —

 sudo yum update sudo yum install policycoreutils-python
 

Это должно автоматически установить semanage вместе с его зависимостями. После этого вы можете проверить, успешно ли установлен semanage, набрав «semanage» в своем терминале.

Добавление репозитория EPEL и установка оттуда пакета semanage

Другой подход — добавить репозиторий Extra Packages for Enterprise Linux (EPEL), а затем использовать Yum для загрузки и установки необходимых пакетов, включая semanage. Этот метод можно использовать, когда Yum не может найти определенный пакет из-за проблем с зависимостями. Для начала добавьте репозиторий EPEL с помощью этой команды —

 sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
 

После успешного добавления выполните эту команду ниже в своем терминале —

 sudo yum --enablerepo=epel-testing -y update && sudo yum --enablerepo=epel-testing -y install policycoreutils-python-utils
 

Это обновит Yum перед загрузкой и установкой всех необходимых зависимостей, включая последнюю версию semanage.

Ручная установка пакета semanage из исходного кода

Последний подход к исправлению ошибки semanage not found включает ручную загрузку и установку пакета из исходного кода. Этот метод требует некоторых технических знаний и не рекомендуется для начинающих. Загрузите исходный код необходимого пакета semanage по этой ссылке — https://github.com/SELinuxProject/selinux/releases 9.0005

После загрузки извлеките файлы, запустив —

 tar -xf selinux-2. xx.tar.gz
 

Затем перейдите в папку, в которой находятся извлеченные файлы, и выполните следующие команды:

 ./configure
сделать сделать установить
 

Эти команды настроят, скомпилируют и установят пакет. В случае успеха вы можете проверить правильность установки semanage, набрав «semanage» в своем терминале.

Советы по устранению неполадок

Проверка наличия конфликтующих пакетов

Если вы проверили, что semanage установлен и переменная PATH установлена ​​правильно, но по-прежнему не можете использовать команду, возможно, существует конфликт с другим пакетом. Чтобы проверить наличие конфликтующих пакетов, выполните следующую команду —

 $ rpm -qa | grep policycoreutils
 

Это даст вам список всех установленных пакетов, связанных с SELinux.

Убедитесь, что нет дубликатов или конфликтующих пакетов. Если они есть, удалите их с помощью соответствующей команды менеджера пакетов.

Обновление системных пакетов

Иногда проблему можно решить, просто обновив все системные пакеты до последней версии. Используйте следующую команду для обновления всех установленных пакетов —

 $ yum update -y
 

После обновления проверьте правильность работы semanage.

Перезапуск системных служб

Если обновление и проверка на наличие конфликтов не устранили проблему, попробуйте перезапустить связанные с SELinux службы, такие как setroubleshootd и auditd. Используйте следующие команды для перезапуска этих служб —

 $ перезапуск systemctl setroubleshootd.service
$ systemctl перезапустить аудитd.service
 

После перезапуска этих служб попробуйте снова использовать semanage и посмотрите, работает ли он сейчас правильно. Применяя эти советы по устранению неполадок, вы сможете исправить ошибку «semanage command not found» в вашей системе CentOS/RHEL в кратчайшие сроки!

Заключение

После выполнения действий, описанных в этой статье, ошибка «semanage command not found» должна быть устранена. Не забывайте регулярно проверять наличие обновлений и обновлять системные пакеты, так как это может предотвратить возникновение подобных ошибок в будущем. Команда semanage — важный инструмент для защиты и управления доступом в системах CentOS/RHEL.

Поначалу сообщение об ошибке может показаться разочаровывающим, но, поняв проблему и устранив ее, вы сможете быстро устранить ее и с легкостью вернуться к управлению своей системой. Сохраняя бдительность в отношении обновлений и управления пакетами, вы можете свести к минимуму риск возникновения подобных проблем в будущем.

Поддержание ваших системных пакетов в актуальном состоянии имеет решающее значение для поддержания безопасной и стабильной среды на вашем сервере. Новые обновления часто включают в себя исправления безопасности, которые устраняют уязвимости, обнаруженные со времени предыдущих выпусков. Важно регулярно проверять наличие доступных обновлений, чтобы не пропустить важные исправления безопасности или улучшения производительности, которые могут улучшить работу вашего сервера.

Используя менеджеры пакетов, такие как yum или apt, вы можете легко обновлять свои системные пакеты с помощью последних исправлений и обновлений. Настройка автоматических обновлений также может сэкономить время и гарантировать, что ваш сервер всегда будет работать на самой безопасной и стабильной версии своего программного обеспечения.

Как исправить ошибку «semanage command» не найдена в CentOS

Поиск

Я пытаюсь настроить pgadmin4 с правильными значениями контекста безопасности и значениями контекста безопасности по умолчанию, используя сценарий setup-web.sh . у него есть команда semanage для внесения изменений в политику SELinux, чтобы разрешить доступ к pgAdmin, но я внезапно столкнулся со следующей ошибкой.

 [[электронная почта защищена] ~]# /usr/pgadmin4/bin/setup-web.sh
Настройка pgAdmin 4 в веб-режиме на платформе Redhat...
Создание базы данных конфигурации. ..
pgAdmin 4 — Инициализация приложения
=======================================
Создание каталогов хранения и журналов...
Настройка SELinux...
  /usr/pgadmin4/bin/setup-web.sh: строка 87: semanage: команда не найдена 
  /usr/pgadmin4/bin/setup-web.sh: строка 89: semanage: команда не найдена 
Веб-сервер Apache работает и должен быть перезапущен для завершения установки pgAdmin 4. Продолжить (т/н)? у
Апач успешно перезапущен. Теперь вы можете начать использовать pgAdmin 4 в веб-режиме по адресу http://127.0.0.1/pgadmin4 

Ошибка заключалась в том, что команда semanage не найдена.

Семенаж 9Команда 0132 — это инструмент управления SELinux ( Security Enhanced Linux ), который используется для настройки определенных элементов без внесения каких-либо изменений в источники политик или повторной сборки из них. Semanage состоит из сопоставления имени пользователя Linux с идентификаторами пользователя SELinux, а также включает сопоставление контекста безопасности для различных объектов, таких как интерфейс, сетевой порт и т. д.

Вам нужно использовать yum обеспечивает , этот параметр позволяет найти пакет, который предоставляет запрошенный файл с именем /usr/sbin/semanage .

Мы объясним, как установить необходимые пакеты для получения команды semanage с помощью команды yum.

  [[email protected] ~]# yum предоставляет /usr/sbin/semanage 
Последняя проверка срока действия метаданных: 0:20:11 назад, понедельник, 9 августа, 10:46:23 2021.
policycoreutils-python-utils-2.9-14.el8.noarch : основные утилиты Python для политики SELinux.
Репо: baseos
Соответствует из:
Имя файла: /usr/sbin/semanage 

Как видите, нам нужно установить policycoreutils-python-utils-2.9-14.el8.noarch для использования команды semanage .

  [[электронная почта защищена] ~]# yum install policycoreutils-python-utils 
Последняя проверка срока действия метаданных: 0:20:24 назад, понедельник, 9 августа, 10:46:23 2021. 
Зависимости устранены.
======================================================================================================================== =============================
 Версия архитектуры пакета Размер репозитория
======================================================================================================================== =============================
Установка:
 policycoreutils-python-utils noarch 2.9-14.el8 baseos 252 кб
Установка зависимостей:
 checkpolicy x86_64 2.9-1.el8 baseos 348 КБ
 python3-audit x86_64 3.0-0.17.20191104git1c2f876.el8 baseos 86 КБ
 python3-libsemanage x86_64 2.9-6.el8 baseos 127 КБ
 python3-policycoreutils ноарх 2.9-14.el8 baseos 2,2 М
 python3-setools x86_64 4.3.0-2.el8 baseos 626 КБ
Сводка транзакции
======================================================================================================================== =============================
Установите 6 пакетов
Общий размер загрузки: 3,6 М
Установленный размер: 11 м
Это нормально [y/N]: операция прервана. 
[[email protected] ~]# yum install policycoreutils-python-utils
Не удалось установить локаль, по умолчанию C.UTF-8
Последняя проверка срока действия метаданных: 0:20:29назад в понедельник 9 августа 10:46:23 2021.
Зависимости устранены.
======================================================================================================================== =============================
 Версия архитектуры пакета Размер репозитория
======================================================================================================================== =============================
Установка:
 policycoreutils-python-utils noarch 2.9-14.el8 baseos 252 кб
Установка зависимостей:
 checkpolicy x86_64 2.9-1.el8 baseos 348 КБ
 python3-audit x86_64 3.0-0.17.20191104git1c2f876.el8 baseos 86 КБ
 python3-libsemanage x86_64 2.9-6.el8 baseos 127 КБ
 python3-policycoreutils ноарх 2.9-14.el8 baseos 2,2 М
 python3-setools x86_64 4.3.0-2.el8 baseos 626 КБ
Сводка транзакции
======================================================================================================================== =============================
Установите 6 пакетов
Общий размер загрузки: 3,6 М
Установленный размер: 11 м
Это нормально [т/н]: д
Загрузка пакетов:
(1/6): python3-аудит-3. 0-0.17.20191104git1c2f876.el8.x86_64.rpm 66 КБ/с | 86 кБ 00:01
(2/6): python3-libsemanage-2.9-6.el8.x86_64.rpm 113 КБ/с | 127 КБ 00:01
(3/6): policycoreutils-python-utils-2.9-14.el8.noarch.rpm 98 КБ/с | 252 КБ 00:02
(4/6): checkpolicy-2.9-1.el8.x86_64.rpm 94 кБ/с | 348 КБ 00:03
(5/6): python3-setools-4.3.0-2.el8.x86_64.rpm 172 КБ/с | 626 КБ 00:03
(6/6): python3-policycoreutils-2.9-14.el8.noarch.rpm 223 КБ/с | 2,2 МБ 00:10
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
Всего 279кБ/с | 3,6 МБ 00:13
Запуск проверки транзакции
Проверка транзакции прошла успешно.
Запуск теста транзакции
Проверка транзакции прошла успешно.
Текущая транзакция
  Подготовка : 1/1
  Установка: python3-setools-4.3.0-2.el8.x86_64 1/6
  Установка: python3-libsemanage-2.9-6.el8.x86_64 2/6
  Установка: python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64 3/6
  Установка: checkpolicy-2.9-1.el8.x86_64 4/6
  Установка: python3-policycoreutils-2. 9-14.el8.noarch 5/6
  Установка: policycoreutils-python-utils-2.9-14.el8.ноарх 6/6
  Запуск скриптлета: policycoreutils-python-utils-2.9-14.el8.noarch 6/6
  Проверка: checkpolicy-2.9-1.el8.x86_64 1/6
  Проверка: policycoreutils-python-utils-2.9-14.el8.noarch 2/6
  Проверка: python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64 3/6
  Проверка: python3-libsemanage-2.9-6.el8.x86_64 4/6
  Проверка: python3-policycoreutils-2.9-14.el8.noarch 5/6
  Проверка: python3-setools-4.3.0-2.el8.x86_64 6/6
Установлен:
  проверкаполитика-2.9-1.el8.x86_64 policycoreutils-python-utils-2.9-14.el8.noarch python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64
  python3-libsemanage-2.9-6.el8.x86_64 python3-policycoreutils-2.9-14.el8.noarch python3-setools-4.3.0-2.el8.x86_64
Полный! 

Попробуйте еще раз запустить команду semanage , все будет работать как по волшебству.

Вы также можете использовать следующие команды, чтобы получить страницу руководства по параметрам команды semanage и их использованию.