启用SELinux需先运行sestatus确认状态,再用setenforce 1临时启用,或修改/etc/selinux/config中SELINUX=enforcing永久启用;若原为disabled,须touch /.autorelabel并重启以重标文件上下文,最后验证服务上下文与AVC拒绝日志。

如果您在Linux系统中需要启用SELinux以增强系统安全性,则可能是由于当前SELinux处于禁用或宽容模式,无法提供强制访问控制保护。以下是启用SELinux的具体步骤:
一、确认当前SELinux状态
SELinux有三种运行模式:enforcing(强制执行)、permissive(宽容)和disabled(禁用)。启用前需先检查当前状态,避免重复操作或误判配置结果。
1、以root用户身份登录系统或使用sudo权限执行命令。
2、运行sestatus命令查看当前SELinux状态。
3、观察输出中的“Current mode”和“Mode from config file”字段,确认是否为disabled或permissive。
二、临时启用SELinux(重启后失效)
该方法通过内核运行时参数立即切换SELinux为enforcing模式,适用于测试策略生效效果,不修改持久配置。
1、执行setenforce 1命令将SELinux切换至enforcing模式。
2、再次运行sestatus验证“Current mode”已变为enforcing。
3、注意:此操作不会影响/etc/selinux/config文件,系统重启后将恢复原配置。
三、永久启用SELinux(修改配置文件)
通过编辑主配置文件可确保系统每次启动均加载SELinux并进入enforcing模式,是生产环境的标准启用方式。
1、使用文本编辑器打开/etc/selinux/config文件,例如:vi /etc/selinux/config。
2、定位到SELINUX=行,将其值修改为enforcing,即改为SELINUX=enforcing。
3、同时确认SELINUXTYPE=行指定有效策略类型,如targeted或mls,推荐保留默认的targeted。
4、保存文件并退出编辑器。
四、重新生成SELinux文件上下文(必要时执行)
当系统从disabled状态首次切换至enforcing或permissive时,文件系统缺少SELinux安全上下文标签,可能导致服务启动失败或拒绝访问,需执行自动标记。
1、执行touch /.autorelabel在根目录创建标记文件。
2、此操作将在下次系统重启时触发完整文件系统重标记,过程可能耗时较长,请确保有足够维护窗口。
3、重启系统:reboot。
五、验证SELinux策略加载与服务兼容性
启用后需确认核心服务(如sshd、httpd)能正常加载SELinux策略模块,并响应安全上下文约束。
1、重启关键服务,例如:systemctl restart sshd。
2、检查服务SELinux上下文:ls -Z /usr/sbin/sshd,确认输出包含类似system_u:object_r:sshd_exec_t:s0的标签。
3、查看SELinux拒绝日志:ausearch -m avc -ts recent | audit2why,识别是否存在未授权访问被拦截。










