RHEL7 学习笔记(21) - SELinux

RHEL7 学习笔记(21) - SELinux

这一节和老师学习了SELinux的基本知识。

SELinux的全称是Security Enhanced Linux, 直译就是安全加强的Linux。在SELinux之前,root账号能够任意的访问所有文档和服务;如果某个文件设为777,那么任何用户都可以访问甚至删除;这种方式称为DAC(主动访问机制),很不安全;SELinux则是基于MAC(强制访问机制),简单的说,就是程序和访问对象上都有一个标签进行区分,只有对应的标签才能允许访问。否则即使权限是777,也是不能访问的。

这个标签在程序或者进程上叫做domain(域),在访问对象或者文件上叫做context (上下文)。

查看上下文可以通过ls -Z,查看域可以使用 ps Z, 我高亮的部分就是他的上下文了

RHEL7 学习笔记(21) - SELinux

以httpd为例,这个httpd的进程只能允许访问/var/www/html下的文档对象。

RHEL7 学习笔记(21) - SELinux

RHEL7 学习笔记(21) - SELinux

下面做个小实验,新建一个index.html文档,打开没有问题

RHEL7 学习笔记(21) - SELinux

RHEL7 学习笔记(21) - SELinux

在root的家目录下创建一个index2.html文档,并剪切到/var/www/html目录下,可以发现其默认的上下文是继承 /home的,标签不匹配,因此无法访问

RHEL7 学习笔记(21) - SELinux

RHEL7 学习笔记(21) - SELinux

我甚至收到了SELinux的警告信息,打开看看

RHEL7 学习笔记(21) - SELinux

在 /var/log/audit/audit.log 也可以查看这个报错

RHEL7 学习笔记(21) - SELinux

RHEL7 学习笔记(21) - SELinux

相关推荐