我有一个可启动的DVD启动与硬盘(使用SELinux)相同的内核。 我已经将/ etc / selinux和所有内核模块复制到我的ramdisk,并尝试了selinux=1和selinux 1各种组合, enforcing 1并enforcing 0 。 作为内核启动参数。 包含在checkpolicy,libselinux,policycoreutils,selinux-policy和selinux-policy-targeted rpms中的所有文件也被复制到虚拟硬盘树中。
系统从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命令的输出中。
在我的initrd中安装selinuxfs的诀窍
不太确定。 什么发行,出于好奇? 也许enforcing=1将做的伎俩。 Dan Walsh对此非常了解 ,我认为他对SELinux @ Fedora有这样的政策。 我也将其从Fedora Docs wiki页面中取出 。