Как добавить 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
и перезагрузите систему, чтобы переименовать систему.