Как добавить libselinux в систему сборки openwrt?

Я строю систему openwrt с поддержкой selinux. Сначала я сталкиваюсь с ошибкой, которую невозможно найти во время компиляции busybox. И тогда я знаю, что есть библиотека libselinux, необходимая для сборки busybox с поддержкой selinux. Поскольку я не очень знаком с Makefile openwrt, я хочу знать, как добавить в него библиотеку? Есть ли какой-нибудь гид? Более того, я действительно обнаружил, что код в selinux github ( https://github.com/SELinuxProject/selinux) сильно отличается от кода, который я нашел в своем локальном источнике linux в openwrt ("/linux/security/selinux) /*"). Зачем? Я знаю, что selinux уже поддерживается в linux2.6. Но кажется, что я все еще должен портировать selinux на linux сам?

Эта проблема заблокировала меня долгое время. Любая помощь будет принята с благодарностью, спасибо!

1 ответ

Я знаю только SELinux на Debian, но так как вы смешиваете разные вещи, я отвечу на "Почему?" часть:

  • Ядро Linux предлагает интерфейс через модули безопасности Linux (LSM) для SELinux и других модулей безопасности (это то, что вы видите в своем "локальном источнике Linux").
  • Для управления SELinux и его политиками существуют некоторые пользовательские инструменты (это ваша ссылка на github).
  • Политики SELinux сами по себе являются скомпилированными файлами.pp, которые состоят из файлов.te / if / fc и имеют готовые правила, называемые проектом ссылочной политики SELinux.
  • Есть еще несколько инструментов, необходимых для работы с SELinux, таких как fixfiles а также restorecon установить нужные метки.

Чтобы проверить, включен ли SELinux, попробуйте команду id -Z но если вы видите сообщение об ошибке, LSM SELinux не активен. Я думаю, что можно было бы активировать его с помощью openwrt, потому что он является частью busybox / config / selinux, поэтому вы можете попробовать команду sestatus чтобы увидеть, если он включен.

На Debian можно сделать touch /.autorelabel и перезагрузите систему, чтобы переименовать систему.

Другие вопросы по тегам