selinux状态可通过sestatus和getenforce命令查看,模式包括enforcing、permissive和disabled;临时切换用setenforce,永久禁用需修改/etc/selinux/config并重启,或通过grub添加selinux=0参数临时跳过。

如果您在Linux系统中需要确认SELinux当前是否启用、处于何种模式,或希望临时或永久调整其配置,则需通过特定命令和配置文件进行操作。以下是查看SELinux状态及配置与关闭方法的详细步骤:
一、查看SELinux当前状态
SELinux有三种运行模式:enforcing(强制执行)、permissive(宽容模式)和disabled(完全禁用)。查看状态可快速判断当前策略生效级别及是否加载。
1、执行sestatus命令获取完整状态信息。
2、观察输出中的Current mode字段,确认当前运行模式。
3、检查Mode from config file字段,确认配置文件设定的默认模式。
4、若命令未找到,说明policycoreutils包未安装,需使用yum install policycoreutils或dnf install policycoreutils补全工具。
二、使用getenforce命令快速确认模式
getenforce是轻量级命令,仅返回当前运行模式字符串,适用于脚本判断或快速验证,不依赖完整策略加载状态。
1、在终端中直接输入getenforce并回车。
2、返回结果为Enforcing表示强制执行策略;Permissive表示记录违例但不阻止;Disabled表示SELinux未激活。
三、检查SELinux配置文件内容
/etc/selinux/config是SELinux的主配置文件,决定系统启动时的默认模式。修改该文件可实现永久性配置变更。
1、使用cat /etc/selinux/config查看当前配置。
2、定位SELINUX=行,其值可能为enforcing、permissive或disabled。
3、确认SELINUXTYPE=行指定的策略类型,常见为targeted或mls。
四、临时切换SELinux运行模式
无需重启即可动态调整当前会话的SELinux行为,适用于调试或紧急绕过限制,但重启后失效。
1、切换至宽容模式:sudo setenforce 0。
2、切换至强制执行模式:sudo setenforce 1。
3、执行后立即生效,可用getenforce验证结果是否已变更。
五、永久禁用SELinux
彻底关闭SELinux需修改配置文件并重启系统,适用于明确不需要强制访问控制的环境。
1、编辑/etc/selinux/config文件:sudo vi /etc/selinux/config。
2、将SELINUX=enforcing或SELINUX=permissive改为SELINUX=disabled。
3、保存退出后,必须重启系统才能使更改生效。
4、重启完成后,再次运行sestatus应显示disabled且Loaded policy name为空。
六、通过内核启动参数禁用SELinux
当无法正常进入系统(如因SELinux导致服务启动失败),可在GRUB引导阶段临时覆盖配置,跳过SELinux初始化。
1、启动时在GRUB菜单界面按e键编辑启动项。
2、定位到以linux开头的行,在行尾添加selinux=0参数。
3、按Ctrl+X或F10启动,此时SELinux将被内核忽略。
4、该方式仅对本次启动有效,不影响配置文件和后续启动。











