Назад | Перейти на главную страницу

Как включить SELinux при загрузке ramdisk с CD / DVD?

У меня есть загрузочный DVD, который загружает то же ядро, что и жесткий диск (который использует SELinux). Я скопировал / etc / selinux и все модули ядра на свой ramdisk и пробовал различные комбинации selinux=1 и selinux 1 с участием enforcing 1 и enforcing 0. как параметры загрузки ядра. Все файлы, содержащиеся в rpms checkpolicy, libselinux, policycoreutils, selinux-policy и selinux-policy-target, также были скопированы в дерево ramdisk.

После загрузки системы с ramdisk проверяю dmesg:

% dmesg | grep -i selinux
Kernel command line: initrd=idrd.img ramdisk_size=110476 selinux=1
SELinux: Initializing.
SELinux: Starting in permissive mode
selinux_register_security: Registering secondary module capability
SElinux: Registering netfilter hooks

Но SELinux не работает:

% /usr/sbin/getenforce
Disabled
% /usr/sbin/setenforce 1
/usr/sbin/setenforce: SELinux is disabled

Ни то, ни другое /var/log/messages ни /proc/kmsg держать подсказки.

Что не сразу очевидно, так это то, что SELINUX требует монтирования selinuxfs. После монтирования selinuxfs появляется в / proc / mounts, но не в выводе команды mount.

Установка selinuxfs в мой initrd помогло

Не совсем уверен. Какой дистрибутив, из любопытства? Возможно enforcing=1 сделает свое дело. Дэн Уолш хорошо разбирается в этом, Я думаю, он делает политику для SELinux @ Fedora. Я также основываю это на Вики-страница Fedora Docs.