安装k8s的过程中,如果是centos系列的系统,需要禁用SELinux,但是ubuntu系列的系统不需要禁用SELinux。这是为什么呢?
我们从SELinux是什么说起。
一.SELinux是什么
SELinux是Linux的强制访问控制机制,而setenforce用于切换它的 enforcing 或 permissive模式。
定义SELinux:Security-Enhanced Linux,由NSA开发的强制访问控制机制。
核心作用
- 强制访问控制(MAC)
与传统的DAC(自主访问控制,基于用户/组权限)不同,SELinux 根据预定义的安全策略,强制系统进程、用户、文件等只能执行允许的操作,即使用户是 root 或拥有权限也不行。 - 最小权限原则
默认限制每个进程/对象仅能访问必要资源,减少安全漏洞被利用的风险(例如:Web 服务器进程无法读取无关文件)。 - 隔离风险
为不同服务(如 Apache、MySQL)分配独立的安全上下文,即使某服务被攻击,也难以横向扩展到其他系统组件。
核心机制
1. 安全策略(Policy)
- 预定义规则:描述哪些进程/用户可以对哪些资源(文件、网络端口、设备等)执行何种操作。