У меня есть загрузочный 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.