SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
SELinux定义了系统中每个【用户】、【进程】、【应用】和【文件】的访问和转变的权限,然后它使用一个安全策略来控制这些实体(用户、进程、应用和文件)之间的交互,安全策略指定如何严格或宽松地进行检查。
SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。
权限管理机制:
DAC自主访问控制:在没有使用 SELinux 的操作系统中,决定一个资源是否能被访问的因素是:某个资源是否拥有对应用户的权限(rwx、u+s、g+s、o+t)。
MAC强制访问控制:在使用了 SELinux 的操作系统中,决定一个资源是否能被访问的因素除了上述因素之外,还需要判断每一类进程是否拥有对某一类资源的访问权限。
安全上下文是SELinux的核心,可分为“进程完全上下文”和“文件安全上下文”
SELinux的三种工作模式:enforcing 强制模式、permissive宽容模式、disabled 关闭SELinux
enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换;从 disabled 切换到 enforcing 或者 permissive,需要重启系统,反过来也一样。
1、命令基本用法:
查看模式