大家好,我是阿萨。前几天在Linux 上安装一个软件,碰到了一个问题就是安装软件一直有问题。找开发看了后,发现是SELinux 相关问题导致的。今天就来学习下这个SELinux。
一. SELinux 是什么
SELinux = Securty Enhanced Linux 的缩写,安全且增强的Linux 。 是美国 国家安全局联合其他安全机构 共同开发的。本意是增强Linux 操作系统的安全性,解决传统Linux 自主访问控制(DAC) 系统中国的各种权限问题。
二. DAC 和MAC
DAC = ( Discretionary Access Control, DAC) 自主访问控制。根据用户的身份,和该身份读文件以及目录的读写和执行权限来判断是否可以访问。
MAC= Mandatory Access Control 强制访问控制。通过SELinux 的默认策略规则来控制特定的进程对系统的文件资源的访问。
SELinx 不单单控制文件,还控制进程。
三. SELinux 的好处
- 给用户和进程最小访问权限。
- SELinux 每个进程都有自己的运行区域。各个进程仅仅运行在自己的域内。
- SELinux 是强制访问控制
四. SELinux 的工作模式。
SELinux 提供三种工作模式: Disabled, Permissive 和Enforcing 。
- Disable 关闭模式,使用DAC
- Permissive 工作模式,宽容模式 。在 Permissive 模式中,SELinux 被启用,但安全策略规则并没有被强制执行。当安全策略规则应该拒绝访问时,访问仍然被允许。然而,此时会向日志文件发送一条消息,表示该访问应该被拒绝。
- Enforcing工作模式(强制模式)从此模式的名称就可以看出,在 Enforcing 模式中, SELinux 被启动,并强制执行所有的安全策略规则。
五. SELinux 的相关配置。
- 配置文件 /etc/selinux/config
设置SELinux 的方式:
- getenforce 命令 查看SELinux 运行方式
- sestatus 命令也可以查询SELinux 运行方式
- setenforce 可以修改SELinux 的方式: 0 表示宽容模式, 1 表示强制模式