前言
作为底层开发人员,如果不了解SELinux,设计的程序不能访问某个文件或属性值,将很受折磨。
先来看看SELinux用途,旨在增强Linux系统的安全性。
如何来保障安全性呢?接下来从SElinux运行机制剖析。
一,SELinux机制
Linux 内核资源访问控制分为 DAC(Discretionary Access Control,自主访问控制)和MAC(Mandatory Access Control,强制访问控制)两类。
DAC
基于“用户-用户组-其他”的“读、写、执行”的权限检查,进程理论上所拥有的权限与执行它的用户的权限相同,该管理过于宽松,如果获得 root 权限,可以在 Linux 系统内做任何事情。
MAC
SELinux(Security-Enhanced Linux,安全增强型 Linux)是 MAC 机制的一种实现,基于安全上下文和安全策略的安全机制,用于补充 DAC 检查。访问系统资源时,会先进行 DAC 检查,DAC检查通过,才能进行 MAC 检查,如果 MAC 检查通过,才能获得资源访问权限。
工作流程如下:
1,SELinux工作模式
支持三种工作模式,分别是enforcing(强制模式)、p