Каков правильный способ установки контекста SELinux в RPM .spec?

Я пытаюсь создать RPM, который нацелен на RHEL4 и 5. Сейчас я вызываю chcon из %post но несколько записей в Google говорят, что «это не то, как вы должны это делать» с очень ограниченной помощью на правильном пути. Я также заметил, что fixfiles -R mypackage check что файлы неправильны, когда они правы (как и ожидалось, БД RPM не понимает, чего я хочу).

One Solution collect form web for “Каков правильный способ установки контекста SELinux в RPM .spec?”

В Руководстве по упаковке Fedora содержится проект документа, в котором объясняется, как обрабатывать SELinux в пакетах, и они используют semanage . Без semanage похоже, что поддержка RHEL 4 будет взломать, и нет никакого способа обойти это.

Согласно примечаниям выпуска rpm 4.9.0 , для управления политиками SELinux была некоторая поддержка в rpm, но она исторически была нарушена:

  • Старые версии RPM поддерживали директиву% policy в спецификации для присоединения политик SELinux к заголовку пакета, но это никогда не использовалось ни для чего. Любые применения директивы% policy в спецификациях должны быть удалены, поскольку эта неиспользованная директива предотвращает создание с помощью RPM 4.9.0 и более поздних версий, хотя ничего не делает для более старых версий.
  • Начиная с RPM 4.9.0, пакет политики SELinux поддерживается через новый раздел% sepolicy в спецификации. Такие пакеты не могут быть созданы, но также устанавливаются в старых версиях RPM (но включенные политики не будут использоваться каким-либо образом).

Я не вижу упоминания о файловых контекстах, и я не смог найти упоминания о поддержке прямого файла (например, %attr в разделе %files ). В любом случае, похоже, что RHEL 6 находится только на rpm 4.8.0, поэтому (если только я не пропустил что-то), маршрут semanage так же хорош, как мы можем сделать, по крайней мере, до RHEL 7.

  • Что такое тип регулярного выражения SELinux?
  • Force задает строку как контекст SELinux файла
  • Не удалось удалить файл в Fedora
  • В каком контексте SELinux должен выполняться сценарий pam_exec?
  • Что отсутствует в моей установке SELinux?
  • SELinux: позволяет процессу создавать любой файл в определенном каталоге
  • Параметры выходного компилятора из SSH
  • SELinux запрещает выполнение Google Chrome
  • Как понять контекст безопасности в «ls -Z»?
  • Требуются ли оба смягчения, когда audit2allow предлагает и restorecon, и правило принудительного применения одного типа?
  • Воспроизведение локальных контекстов selinux после переустановки ОС
  • Linux и Unix - лучшая ОС в мире.