Security Enhanced Linux,是由美国国家安全局(NSA)联合其他安全机构(比如 SCC 公司)共同开发的,旨在增强传统 Linux 操作系统的安全性,解决传统 Linux 系统中自主访问控制(DAC)系统中的各种权限问题。
Selinux在原有的mask权限(即 rwx、777)之外,又额外添加了安全上下文,对每个目录及文件还有进程进行管制,当用户或者进程具有对应的安全上下文权限时,才能访问并控制对应的资源。

SELinux是什么 # from C语言中文网 http://c.biancheng.net/view/1147.html

开启与关闭

通过简单的命令可以查看selinux当前的状态,并且临时开启与关闭selinux的功能。但是想要在重启之后仍旧保持之前的状态,需要更改配置文件,并重启。

  1. # 查看selinux的状态
  2. [root@ecas ~]# getenforce
  3. Permissive

当处于Permissive状态时,是一种宽松策略,会对所有访问放行。(不会覆盖mask权限策略)

  1. # 关闭selinux
  2. setenforce 0
  3. # 开启selinux
  4. setenforce 1

想要永久关闭selinux需要更改配置文件 /etc/selinux/config

  1. sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  2. # 更改配置文件需要重启才能生效
  3. reboot

当你使用nginx等应用访问本地资源遇到权限问题的时候,第一怀疑目标应该是selinux,其次才是mask权限。