1. 检查SELinux当前状态
在启用SELinux前,需先确认系统是否已安装SELinux工具及当前状态。使用以下命令查看状态:
sestatus:显示详细状态(如SELinux status: enabled/disabled、Current mode: enforcing/permissive);getenforce:快速获取当前运行模式(Enforcing/Permissive/Disabled)。Disabled,需继续执行启用步骤;若为Permissive,可通过修改配置切换至Enforcing。2. 临时启用SELinux(重启后失效)
若需快速测试SELinux功能,可使用setenforce命令临时切换至Enforcing模式:
sudo setenforce 1
执行后,通过getenforce验证模式是否变更为Enforcing。需注意,此设置仅在当前运行周期有效,重启系统后会恢复为配置文件的默认值。
3. 永久启用SELinux(修改配置文件)
要永久启用SELinux,需编辑SELinux主配置文件/etc/selinux/config:
vi或nano)打开文件:sudo vi /etc/selinux/config
SELINUX=行(通常位于文件顶部),将其值从disabled或permissive修改为enforcing(强制模式,推荐用于生产环境):SELINUX=enforcing
vi中按Esc→输入:wq→回车)。4. 处理首次启用前的文件系统标记
若系统之前处于Disabled状态,首次启用Enforcing模式前,需让SELinux重新标记所有文件的安全上下文(避免因缺少标签导致服务无法启动)。执行以下命令创建自动标记触发文件:
sudo touch /.autorelabel
然后重启系统,SELinux会在启动过程中自动完成文件标记:
sudo reboot
重启后,系统会逐一扫描并标记文件,此过程耗时取决于文件数量(通常几分钟至十几分钟)。
5. 验证SELinux是否成功启用
系统重启后,再次运行以下命令确认SELinux状态:
sestatus
若输出显示SELinux status: enabled且Current mode: enforcing,则说明启用成功。
注意事项
/etc/selinux/config前,建议备份(sudo cp /etc/selinux/config /etc/selinux/config.bak),以防误操作导致系统无法启动。Permissive模式(记录违规但不阻止),观察日志(/var/log/audit/audit.log)后再切换至Enforcing。/etc/selinux/config中的SELINUXTYPE=参数定义策略类型(默认targeted,保护选定服务;mls为多级安全策略,需深入理解SELinux),修改前需确认需求。