银河麒麟V10默认未启用SELinux,须通过security-switch工具切换至strict或custom模式并重启方可激活;直接修改/etc/selinux/config无效。验证需依次执行security-switch --status、getenforce和sestatus,并检查dmesg日志。

银河麒麟V10默认未启用SELinux,而是使用kysec安全机制,直接修改/etc/selinux/config文件中的SELINUX=值无法生效,必须通过security-switch工具切换安全模式才能真正激活SELinux。
确认当前安全模式与SELinux状态
先查看系统当前启用的安全机制:执行security-switch --status,输出中会明确显示当前模式(default/strict/custom)及各子模块(kysec、SELinux、三权分立)是否启用。
再单独验证SELinux运行状态:运行getenforce,若返回Disabled或命令报错“SELinux is disabled”,说明SELinux尚未加载;返回Enforcing或Permissive则已激活。
【关键前提】只有在security-switch设置为strict或custom且明确启用SELinux时,/etc/selinux/config的配置才可能被读取——否则该文件被完全忽略。
启用SELinux的两种可靠方式
方法一:切换至strict模式(推荐,一步到位)
执行sudo security-switch --set strict → 系统将自动重启 → 重启后SELinux以ukmcs策略启动,且处于Enforcing模式。
方法二:使用custom模式精细控制
执行sudo security-switch --set custom --list selinux → 此命令仅启用SELinux组件,不强制启用kysec或三权分立 → 重启后SELinux生效,但其他安全模块保持原状。
注意:两种方式均需重启才生效,不可跳过。重启前请保存所有工作,避免数据丢失。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
验证并确认SELinux已启用
第一步:重启完成后,立即执行getenforce,确认输出为Enforcing。
第二步:运行sestatus,检查输出中“Loaded policy name”是否为ukmcs(strict模式)或targeted(custom模式),且“Current mode”和“Mode from config file”均为enforcing。
第三步:检查内核日志是否有SELinux初始化信息:dmesg | grep -i selinux,应看到类似“SELinux: Initializing ukmcs policy”字样。
若getenforce仍返回Disabled,说明security-switch未成功写入配置,需检查/var/log/secure中security-switch执行日志,确认无权限或磁盘空间错误。

















