SELinux 是一种强制访问控制安全技术,用于加强 Linux 操作系统的安全性。在 SELinux 中,策略被分为三种主要分类:目标策略(Targeted Policy)、多策略(MLS/MCS Policy)和定制策略(Custom Policy)。这三种策略分类在 SELinux 的安全机制中扮演着重要的角色,本文将结合具体代码示例详细介绍这三种策略分类。
- 目标策略(Targeted Policy)
目标策略是 SELinux 中最常用的一种策略分类,它基于用户、程序和进程之间的关系来限制访问权限。在目标策略中,只有少数的用户或进程被定义为安全策略,其他用户或进程则继承默认策略。通过给这些用户或进程分配角色和权限,可以有效控制它们的访问权限。
下面是一个示例代码,演示如何使用目标策略来限制一个用户对某个文件的访问权限:
# 创建一个测试文件 touch testfile.txt # 为该文件设置安全上下文 chcon system_u:object_r:admin_home_t:s0 testfile.txt # 创建一个用户 useradd testuser # 给该用户分配角色和权限 semanage user -a -R "staff_r system_r" testuser # 切换用户至 testuser su testuser # 尝试读取文件 cat testfile.txt