1、SELinux:Security Enhanced Linux(增强型Linux)
目前系统文件权限管理分为2种:
DAC:Discretionary Access Control(任意的权限访问):本地权限,高级权限,特殊权限
DAC是以用户为出发点来管理权限,root是漏洞

MAC:Mandatory Access Control(强制的权限访问):本地权限,高级权限,特殊权限,SELinux
MAC是以程序为出发点来管理权限,即使你攻击了服务,你也无法访问除了服务目录下的其他的文件

2、SELinux工作原理
主体:SELinux管理的程序(例如:httpd)
目标:主体程序将要访问的文件(例如:/var/www/html)
策略:有主体的context可以访问目标的context的规则
Context:所有文件,目录,进程,端口都有一个Context(查询加Z)

3、Context组成
第一列:身份识别
System_u:系统程序方面识别
Root:root身份
User_u:普通用户身份

第二列:角色
System_r:程序
Object_r:文件或者目录

第三列:类型

第四列:敏感度

3、getenforce(查询SELinux状态)
Enforcing:启用SELinux(通过setenforce 1生效)
Permissive:启用了但是策略不生效,会生成日志(通过setenforce 0生效)
Disabled:关闭SELinux
Sestatus命令可以查看整个SELinux状态

4、SELinux配置文件
配置修改完,重启后才生效

5、修改布尔值来操作SELinux
查看某个服务的布尔值
例如FTP,如果要匿名上传,除了pub文件下需要写入,vsftpd.conf需要修改之外,还需要修改SELinux