CentOS7 关闭SELinux详细步骤,临时+永久关闭

刚装完 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 报错,可以加微信远程协助排查问题。


emer 发布于  2026-10-4 19:26 

Linux 文件权限详解

Linux 文件权限详解

Linux 权限是服务器安全的基础,搞懂权限,服务器才不会乱。

1. 查看权限

用 ls -l 查看文件权限:

ls -l file.txt
-rw-r--r-- 1 user group 1024 Oct 4 10:00 file.txt

开头10个字符就是权限:

  • 第1个:文件类型(- 普通文件,d 目录)
  • 第2-4个:所有者权限
  • 第5-7个:所属组权限
  • 第8-10个:其他人权限

2. 三种权限

  • r(读)= 4
  • w(写)= 2
  • x(执行)= 1

数字加起来就是权限值:

  • 7 = 4+2+1 = rwx
  • 6 = 4+2 = rw-
  • 5 = 4+1 = r-x
  • 4 = 4 = r--

3. 修改权限 chmod

# 给所有者加执行权限
chmod u+x file.txt

# 给所有人只读权限
chmod 444 file.txt

# 所有者读写执行,组和其他人只读
chmod 744 file.txt

4. 修改所有者 chown

# 修改文件所有者
chown user:group file.txt

# 递归修改目录
chown -R user:group /data/www

5. 常用权限

  • 普通文件:644(所有者读写,其他人只读)
  • 目录:755(所有者读写执行,其他人读执行)
  • 脚本文件:755(所有者能执行)

6. 安全建议

  • 网站目录不要用 root 所有者
  • 上传目录禁止执行权限
  • 配置文件权限设为 600,只有所有者能读

总结

Linux 权限核心就是三组(所有者、组、其他人)× 三种(读、写、执行),用数字表示就是 r=4、w=2、x=1。搞懂这个,日常权限管理基本够用了。


emer 发布于  2026-10-4 10:45