【缺陷描述】 在 Anolis OS 8.4 龙芯版 环境上,修改selinux状态为enforcing,重启后设备不能正常启动 【重现环境】 loongarch64 Anolis OS rc1 8.4 4.19.190-3.an8.loongarch64 【重现步骤】 getenforce # 查看当前状态 sed -i "s/SELINUX=disabled/SELINUX=enforcing/g" /etc/selinux/config reboot 【重现概率】 必现 【期望结果】 设备正常启动 【实际结果】 selinux 无法enable
查了一下内核配置 CONFIG_DEFAULT_SECURITY_DAC 开启而不是CONFIG_DEFAULT_SECURITY_SELINUX
1、selinux 选项的打开不一定非得打开内核配置项,命令行传入参数也可。 2、selinux 规则文件会在系统启动时进行检查,因此需要相应的规则文件,龙芯社区之前的解决方案时利用audit功能,产生相应的规则文件。 结论:这个问题之前已经有人提过,因此需要确认 audit 功能是否正常。
rc2仍存在该问题 audit功能正常,可使用auditctl -s 进行内核台查询
Created attachment 98 [details] loongson-policy 源码包 可参考这个spec制作anolis的selinux rpm包。
(In reply to ticat from comment #4) > Created attachment 98 [details] > loongson-policy 源码包 > > 可参考这个spec制作anolis的selinux rpm包。 target里面的policy格式是 SE Linux policy v31 8 symbols 9 ocons 你这个包里的是mls格式,这个是不是要配置selinux使用mls模式?还有这个和系统的selinux-policy-mls里的policy.31文件是否冲突?
(In reply to 葛立伟 from comment #1) > 查了一下内核配置 CONFIG_DEFAULT_SECURITY_DAC 开启而不是CONFIG_DEFAULT_SECURITY_SELINUX 添加启动参数 security=selinux 强制使用selinux 模式
根据liwei 的方法,selinux可以开启 1. 内核加一个selinux=1 的启动参数, [root@localhost ~]# cat /proc/cmdline root=/dev/mapper/ao-root ro crashkernel=auto resume=/dev/mapper/ao-swap rd.lvm.lv=ao/root rd.lvm.lv=ao/swap rhgb quiet selinux=1 rd_start=0x90000000f7340000 rd_size=0x3400c4f initrd=0xf7340000,0x3400c4f 2.并添加启动参数 security=selinux 强制使用selinux 模式 [root@localhost ~]# grubby --update-kernel=/boot/vmlinuz-4.19.190-3.an8.loongarch64 --args=security=selinux 3. reboot 4. 查询 [root@localhost ~]# getenforce Enforcing
http://build.openanolis.cn/kojifiles/output/an-8-loongarch64-RC2/compose/