CentOS7 关闭SELinux详细步骤,临时+永久关闭
时间:2026-10-4 19:26 作者:emer 分类: 无
刚装完 CentOS 7,部署网站后发现目录权限明明对了,但还是 403 或文件访问被拒绝,十有八九是 SELinux 在搞鬼。这玩意儿对新手极不友好,建议直接关掉。
1. 先查看 SELinux 状态
getenforce
输出有三种可能:
Enforcing:强制模式(正在生效)Permissive:宽容模式(只警告不拦截)Disabled:已关闭
或者用详细命令:
sestatus
2. 临时关闭(重启后失效)
setenforce 0
执行完再 getenforce 确认一下,应该变成 Permissive。
注意:临时关闭不需要重启服务器,但重启后会恢复原来的状态。
3. 永久关闭(重启后依然生效)
编辑配置文件:
vi /etc/selinux/config
找到这一行:
SELINUX=enforcing
改成:
SELINUX=disabled
保存退出后,必须重启服务器才能生效:
reboot
4. 为什么要关 SELinux?
SELinux 是 Linux 的强制访问控制机制,理论上更安全,但对新手来说:
- 权限配对了还是访问不了
- Nginx 代理 PHP 一直 403
- 上传文件后权限不对
- 各种莫名其妙的拒绝访问
生产环境如果不是特别懂,建议直接关掉,省心。真要讲究安全,用防火墙就够了。
5. 常见坑
坑1:改了配置文件没重启
很多人改完 /etc/selinux/config 就以为关了,其实必须重启才生效。
坑2:setenforce 报错
如果 SELinux 本来就是 Disabled 状态,执行 setenforce 0 会报错,正常。
坑3:查看日志
如果想知道 SELinux 拦截了什么,可以看日志:
tail -f /var/log/audit/audit.log
遇到服务器、Nginx、MySQL 报错,可以加微信远程协助排查问题。