Подтвердить что ты не робот

Настройка разрешений SELinux для (SVS-V) Семафоров IPC

У меня есть куча программ, которые используют семафоры IPC для взаимодействия (semget).

Одна из программ - это модуль Apache, который работает в (каком-то) ограниченном контексте SELinux (который я не слишком хорошо понимаю).

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

Однако - когда мой (модуль) переходит на доступ к семафору IPC, вызов semget завершается с EPERM. Когда SELinux выключен, я не получаю эту ошибку.

Итак - очевидно, что мне нужно что-то сделать, чтобы установить какой-то режим безопасности SELinux или что-то на Семафор, чтобы это работало. Если это был обычный файл, я мог бы просто называть его "chcon". Поскольку это System-V IPC Semaphore, я не могу этого сделать.

Что я могу сделать, чтобы сделать эту работу?

4b9b3361

Ответ 1

Основные шаги для получения SELinux, работающего с необходимыми изменениями:

  • Включить разрешающий режим
  • Захват отказов
  • Добавить новый модуль политики или изменить существующий политический модуль
  • Включение режима принудительной проверки и проверки

Точно, как это сделать, зависит от того, какой дистрибутив Linux вы используете; здесь приведены ссылки для CentOS, Debian, Gentoo, RedHat и Ubuntu. Вы также можете найти информацию SELinux из NSA. Лучшая документация, которую я нашел, - это Gentoo: шаг 1, шаг 2, шаг 3, шаг 4.

Как @smassey отметил, вам, скорее всего, нужно будет изменить некоторые IPC.