什么是SELinux
SELinux全称是Security-Enhanced Linux,是Linux系统内核级别的安全访问控制模块,它会给系统中的进程、文件、端口等资源打上安全标签,只有符合安全策略的访问才会被允许。默认情况下很多Linux发行版会开启SELinux的强制模式,这种模式会严格限制各类操作的权限,安装宝塔面板后,面板对网站目录、服务配置的修改很可能被SELinux拦截,导致网站无法访问、服务启动失败等问题。

先查看当前SELinux状态
在修改配置之前,我们需要先确认当前SELinux的运行状态,避免做无用操作。可以执行以下命令查看:
# 查看SELinux运行状态 getenforce # 也可以查看详细配置信息 sestatus
命令执行后会出现几种结果:
- Enforcing:强制模式,SELinux正在运行并拦截不符合策略的操作,这也是大部分系统的默认状态
- Permissive:宽容模式,SELinux只会记录违规操作但不会拦截,适合用来排查问题
- Disabled:关闭状态,SELinux完全不运行
临时关闭SELinux(无需重启)
如果只是临时测试是不是SELinux导致的问题,可以先执行临时关闭命令,这种方式不需要重启服务器,但是重启后会恢复到原来的状态:
# 临时将SELinux切换到宽容模式,不需要重启 setenforce 0 # 再次查看状态,应该显示Permissive getenforce
这种方式适合快速验证问题,比如临时关闭后宝塔面板的某个功能恢复正常,就可以确定是SELinux的限制导致的,之后再做永久关闭的配置。
永久关闭SELinux(修改配置文件并重启)
要彻底关闭SELinux,需要修改它的配置文件,让系统在启动的时候就不加载SELinux的强制策略,具体步骤如下:
1. 找到SELinux配置文件
SELinux的配置文件默认路径是/etc/selinux/config,部分系统可能在/etc/sysconfig/selinux,后者其实是前者的软链接,修改任意一个都可以。
2. 修改配置文件内容
我们可以用vim或者nano编辑器打开配置文件,找到SELINUX=开头的配置项,修改它的值:
# 用vim打开配置文件 vim /etc/selinux/config
打开后的文件内容大致如下,我们需要把SELINUX=enforcing改成SELINUX=disabled:
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
修改完成后保存退出,vim的保存退出命令是按下ESC后输入:wq回车。
3. 重启系统使配置生效
修改配置文件后必须重启服务器才能让永久关闭的配置生效,执行重启命令:
# 重启服务器 reboot
服务器重启完成后,再次执行getenforce命令,输出应该是Disabled,说明SELinux已经彻底关闭。
关闭后的验证与注意事项
关闭SELinux后,我们可以到宝塔面板中重启网站服务、数据库服务,测试之前出现的问题是否已经解决。需要注意,关闭SELinux会降低系统的内核级安全限制,如果你的服务器运行的是非常敏感的业务,建议只把SELinux切换到宽容模式而不是完全关闭,或者针对宝塔面板的操作单独配置SELinux策略,而不是一刀切关闭。
另外如果后续需要重新开启SELinux,只需要把配置文件中的SELINUX=disabled改回SELINUX=enforcing,再重启服务器即可。
SELinux宝塔面板selinux_config系统安全Linux修改时间:2026-07-02 17:15:18