目录
[1.SELinux 是如何保护资源的?](#1.SELinux 是如何保护资源的?)
[2. 什么是自由决定的访问控制(DAC)?它有什么特点?](#2. 什么是自由决定的访问控制(DAC)?它有什么特点?)
[3. 什么是强制访问控制(MAC)?它有什么特点?](#3. 什么是强制访问控制(MAC)?它有什么特点?)
[4. 什么是 SELinux 上下文?](#4. 什么是 SELinux 上下文?)
[5. setenforce 0 命令的作用是什么?](#5. setenforce 0 命令的作用是什么?)
[6.定义一条 SELinux 文件上下文规则,以便将 /custom 目录及目录中所有文件的上下文类型设置为 httpd_sys_content_t。](#6.定义一条 SELinux 文件上下文规则,以便将 /custom 目录及目录中所有文件的上下文类型设置为 httpd_sys_content_t。)
1.SELinux 是如何保护资源的?
答:SELinux 通过为系统中的进程、文件、目录等资源分配安全上下文(包含用户、角色、类型、级别等信息),并依据安全策略规则(如类型强制访问控制)限制进程对资源的访问。只有当进程上下文与资源上下文匹配策略允许的规则时,访问才被许可,从而实现对资源的强制保护。
2. 什么是自由决定的访问控制(DAC)?它有什么特点?
答:定义:DAC 是一种访问控制机制,资源的所有者可自主决定哪些用户或组能访问该资源(如 Linux 文件权限中的所有者、组、其他用户权限设置)。
特点:
访问权限由资源所有者自由分配和修改;
依赖于用户身份和文件权限(如 rwx 权限);
安全性较低,可能因所有者误操作导致权限泄露。
3. 什么是强制访问控制(MAC)?它有什么特点?
答:定义:MAC 是由系统管理员预先定义安全策略,强制限制主体(进程)对客体(文件等资源)的访问,资源所有者无法自主修改访问权限(如 SELinux)。
特点:
访问控制由系统策略强制实施,不受用户自主决定;
基于主体和客体的安全属性(如 SELinux 上下文);
安全性高,适合对安全要求严格的场景(如服务器、涉密系统)。
4. 什么是 SELinux 上下文?
答:SELinux 上下文是附加在系统资源(进程、文件、目录、端口等)上的安全标识,用于 SELinux 策略判断访问权限。其格式通常为 user:role:type:level(如 unconfined_u:object_r:httpd_sys_content_t:s0),其中类型(type) 是最常用的部分,用于限制进程与文件的交互。
5. setenforce 0 命令的作用是什么?
答:setenforce 0 用于将 SELinux 临时切换到Permissive 模式(宽容模式)。在此模式下,SELinux 仅记录违反策略的行为(日志中生成 avc 拒绝消息),但不实际阻止访问。重启系统后会恢复为配置文件中设置的模式(enforcing 或 permissive)。
6.定义一条 SELinux 文件上下文规则,以便将 /custom 目录及目录中所有文件的上下文类型设置为 httpd_sys_content_t。
答:semanage fcontext -a -t httpd_sys_content_t "/custom(/.*)?"
restorecon -Rv /custom
semanage fcontext 用于添加持久化的文件上下文规则,(/.*)? 表示匹配 /custom 目录及所有子文件 / 子目录;
restorecon 用于应用规则,将 /custom 及其内容的上下文恢复为规则定义的类型。