Bug 218 - [Anolis OS 8.4 龙芯版][4.19.190-3.an8.loongarch64] 修改selinux状态为enforcing,重启后设备不能正常启动
Summary: [Anolis OS 8.4 龙芯版][4.19.190-3.an8.loongarch64] 修改selinux状态为enforcing,重启后设备不能...
Status: VERIFIED FIXED
Alias: None
Product: Anolis OS 8
Classification: Anolis OS
Component: Images&Installations (show other bugs) Images&Installations
Version: 8.4
Hardware: loongarch Linux
: P2-High S2-major
Target Milestone: ---
Assignee: HFD
QA Contact: shuming
URL:
Whiteboard:
Keywords:
Depends on: 81
Blocks:
  Show dependency tree
 
Reported: 2021-12-28 20:06 UTC by xugangjian
Modified: 2022-01-21 16:22 UTC (History)
3 users (show)

See Also:


Attachments
loongson-policy 源码包 (7.55 KB, application/x-rpm)
2022-01-10 15:11 UTC, ticat
Details

Note You need to log in before you can comment on or make changes to this bug.
Description xugangjian alibaba_cloud_group 2021-12-28 20:06:41 UTC
【缺陷描述】
在 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
Comment 1 葛立伟 alibaba_cloud_group 2021-12-31 09:59:38 UTC
查了一下内核配置 CONFIG_DEFAULT_SECURITY_DAC 开启而不是CONFIG_DEFAULT_SECURITY_SELINUX
Comment 2 ticat loongson_group 2022-01-05 17:28:12 UTC
1、selinux 选项的打开不一定非得打开内核配置项,命令行传入参数也可。
2、selinux 规则文件会在系统启动时进行检查,因此需要相应的规则文件,龙芯社区之前的解决方案时利用audit功能,产生相应的规则文件。

结论:这个问题之前已经有人提过,因此需要确认 audit 功能是否正常。
Comment 3 xugangjian alibaba_cloud_group 2022-01-07 11:12:58 UTC
rc2仍存在该问题
audit功能正常,可使用auditctl -s 进行内核台查询
Comment 4 ticat loongson_group 2022-01-10 15:11:13 UTC
Created attachment 98 [details]
loongson-policy 源码包

可参考这个spec制作anolis的selinux rpm包。
Comment 5 葛立伟 alibaba_cloud_group 2022-01-11 16:41:32 UTC
(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文件是否冲突?
Comment 6 葛立伟 alibaba_cloud_group 2022-01-14 11:17:59 UTC
(In reply to 葛立伟 from comment #1)
> 查了一下内核配置 CONFIG_DEFAULT_SECURITY_DAC 开启而不是CONFIG_DEFAULT_SECURITY_SELINUX

添加启动参数 security=selinux 强制使用selinux 模式
Comment 7 xugangjian alibaba_cloud_group 2022-01-14 18:07:14 UTC
根据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