Как настроить SELinux для запуска собственного сервиса?

Как запустить службу, которая запускает uvicorn на сервере с AlmaLinux 9, если SELinux выключен? <br/> P.S. Не имею опыта работы с rpm-подобными системами, привык к debian/ubuntu/astra.
  • 6 августа 2024 г. 19:53
Ответы на вопрос 1
Для запуска собственного сервиса с SELinux, вам сначала необходимо создать и сконфигурировать политику безопасности SELinux для вашего сервиса. Вам может потребоваться использовать утилиту `audit2allow` для анализа сообщений SELinux и создания необходимых правил.

Чтобы запустить службу, которая запускает uvicorn на сервере с AlmaLinux 9, если SELinux выключен, вам прежде всего нужно установить и сконфигурировать службу и сам UVicorn. Сначала установите необходимые пакеты:

```
sudo yum install python3-uvicorn
```

Теперь создайте службу для запуска вашего uvicorn сервера. Создайте unit-файл для systemd (например, `/etc/systemd/system/uvicorn.service`) со следующим содержимым:

```
[Unit]
Description=UVicorn Service
After=network.target

[Service]
Type=simple
User=<ваш_пользователь>
Group=<ваша_группа>
ExecStart=/usr/bin/python3 -m uvicorn.main <путь_к_вашему_приложению>:<имя_приложения> --host 0.0.0.0 --port 8000

[Install]
WantedBy=multi-user.target
```

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

```
sudo systemctl daemon-reload
sudo systemctl start uvicorn
sudo systemctl enable uvicorn
```

Теперь ваш uvicorn сервер должен быть запущен и доступен по адресу вашего сервера с портом 8000.
Похожие вопросы