2015-07-30 6 views
2

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

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

ответ

2

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

  • в Linux-ядро предлагает интерфейс с помощью модулей Linux Security (МНК) для SELinux и other security modules (то есть то, что вы видите в «локальном источнике Linux»).
  • Для управления SELinux и его политикой существуют некоторые пользовательские инструменты (это ваша ссылка github).
  • Политика SELinux - это скомпилированные .pp-файлы, которые состоят из файлов .te/if/fc, и есть готовые к использованию правила, называемые SELinux Reference Policy Project.
  • Есть еще несколько инструментов, необходимых для работы с SELinux, например fixfiles и restorecon, чтобы установить нужные метки.

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

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

+0

Thans @andpei, это действительно помогает. Теперь я знаю, что мне нужно сделать, чтобы переместить инструменты userland в openwrt. Кроме того, только включить selinux в busybox невозможно передать компиляцию, кажется, что busybox нужен заголовок из библиотек в инструментах userland. – roMoon

Смежные вопросы