首先检查SELinux状态,使用sestatus命令查看是否启用及当前模式;若未安装工具则先安装selinux-utils或policycoreutils;临时启用强制模式可用setenforce 1;永久启用需编辑/etc/selinux/config文件,设置SELINUX=enforcing和SELINUXTYPE=targeted;若曾通过内核参数禁用,需修改/etc/default/grub,移除selinux=0或enforcing=0,并更新grub配置;重启后验证状态为enforcing;首次启用时建议创建/.autorelabel文件以触发自动重标,避免因上下文错误导致服务启动失败;配置完成后SELinux将有效阻止越权操作,提升系统安全性。

SELinux(Security-Enhanced Linux)是Linux系统中一个强大的强制访问控制(MAC)机制,能够显著提升系统的安全性。默认情况下,某些发行版可能将其禁用或设置为宽容模式。要真正发挥其保护作用,需要正确配置并启用为强制模式。以下是完整的配置步骤。
检查当前SELinux状态
在进行任何更改前,先确认SELinux的当前状态:
sestatus如果命令未找到,说明SELinux工具未安装,可使用以下命令安装:
yum install policycoreutils -y # CentOS/RHELapt install selinux-utils -y # Ubuntu/Debian
运行 sestatus 后,关注以下三项输出:
- SELinux status:显示是否启用
- Current mode:当前运行模式(enforcing、permissive 或 disabled)
- Configured mode:配置文件中设定的模式
临时启用SELinux(仅限已加载内核支持)
若SELinux被设为permissive,可通过以下命令临时切换到强制模式:
setenforce 1其中,1 表示 enforcing,0 表示 permissive。该设置重启后失效,仅用于测试。
永久启用SELinux
要永久启用SELinux,必须修改配置文件并确保系统支持。
- 编辑主配置文件:
/etc/selinux/config - 确保包含以下设置:
SELINUX=enforcing
SELINUXTYPE=targeted - 保存退出。SELINUX 可选值包括:
- enforcing:强制执行安全策略
- permissive:仅记录违规,不阻止
- disabled:完全关闭SELinux(不推荐)
处理SELinux被彻底禁用的情况
如果之前通过内核参数禁用了SELinux(如在grub中添加了 selinux=0 或 enforcing=0),需先移除这些参数。
发卡宝是一个专业的软件卡密等虚拟商品在线交易平台,拥有多种兑换方式,费率低,结算快,正规企业平台一直稳定运营,24小时不间断提供自动发卡服务。【模板说明】试用版自带一套模板(响应式)【环境支持】PHP环境 / 200M或以上空间大小 / 开启父路径 / 设置index.php为默认首页 / 目录写入权限需要开启【数据库】MySQL【安装步骤】将文件上传至空间目录,运行“http://域名/inst
- 编辑GRUB配置文件:
/etc/default/grub - 找到 GRUB_CMDLINE_LINUX 行,删除 selinux=0 和 enforcing=0
- 更新GRUB配置:
grub2-mkconfig -o /boot/grub2/grub.cfg # BIOS系统
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg # UEFI系统(根据实际路径调整)
重启并验证
完成配置后,重启系统:
reboot系统启动后再次运行:
sestatus确认输出中 SELinux status 为 enabled,Current mode 为 enforcing。
首次启用后的注意事项
如果系统长期处于禁用状态,首次启用SELinux时可能因文件上下文缺失导致服务无法启动。系统通常会在重启后自动执行一次完整的文件上下文重标(relabeling)。如需手动触发:
- 在 / 目录下创建隐藏文件:
touch /.autorelabel - 重启系统,系统会自动进行重标并删除该文件。
注意:此过程可能耗时较长,请耐心等待,不要中断。
基本上就这些。只要配置得当,SELinux能有效防止越权操作和潜在攻击,建议在生产环境中保持启用状态。遇到问题可通过 ausearch 和 sealert 工具排查日志。









