20262809 2026-2027-1 《Linux内核原理与分析》第十一周预习作业
20262809《Linux内核原理与分析》第十一周作业**学号**20262809**姓名**叶丁再请确保与证书申请姓名一致阅读范围《庖丁解牛 Linux 操作系统分析》第十二章**日期**2026 年 9 月 27 日**原创作品转载请注明出处**叶丁再课程《Linux 内核分析》MOOC 课程 http://mooc.study.163.com/course/USTC-1000029000一、阅读问题Linux 安全要保护什么第十二章“Linux 系统安全相关技术”从安全目标、访问控制讲到可信计算。阅读时我先把安全目标归纳为机密性、完整性和可用性机密性关注信息是否被不该访问的人看到完整性关注数据和系统状态是否被未授权改变可用性关注服务能否正常提供。认证、授权和审计分别回答“你是谁”“你能做什么”“发生了什么”它们相互配合但不是同一件事。我由此理解安全不是某一条权限规则或某个安全软件的单点功能。分层防御需要结合身份管理、最小权限、访问控制、日志审计、系统更新和隔离机制。某项检查或日志只能提供一类证据不能单独证明系统整体安全。二、阅读问题文件权限和访问控制模型有什么关系1. DAC、MAC 和 RBAC 分别从哪里判断权限Linux 常见文件权限体现了自主访问控制DAC文件所有者可以通过属主、属组和其他用户的读、写、执行权限管理访问。它灵活且易于理解但权限配置错误可能造成敏感文件泄露。强制访问控制MAC再依据系统策略和安全标签限制访问普通文件所有者不能随意绕过策略。基于角色的访问控制RBAC则把权限关联到角色再把用户映射到角色方便按职责组织授权。教材用 Bell-LaPadula 和 Biba 说明强制访问控制的安全目标前者侧重机密性后者侧重完整性。它们通过安全级别和读写规则约束信息流。RBAC 与它们关注角度不同RBAC 以角色组织权限MAC 以系统定义的策略和安全属性作出访问决定。实际系统可以组合使用不同机制。机制判断访问的主要依据我对它的理解DAC文件属主、属组及传统权限位资源所有者参与决定谁可以访问MAC系统策略、安全级别或安全标签访问受系统策略约束不能只由文件所有者决定RBAC用户、角色及角色对应的权限先按职责组织权限再把用户映射到角色2./etc/passwd、/etc/shadow和文件元数据分别能说明什么教材介绍了 Linux 用户信息和口令信息的分离/etc/passwd保存用户标识、UID、GID、家目录和 Shell 等信息口令哈希及口令期限等信息放在权限更严格的/etc/shadow中。示例中/etc/passwd的第二字段为x表示口令信息转到 shadow 文件。这里讲的是账户数据库文件格式不能把字段内容误当成登录认证本身。文件权限之外inode 还记录文件类型、所有者、权限、大小、时间戳和链接等元数据。查看元数据可帮助调查异常但某个时间戳或权限变化本身不能证明入侵应结合系统日志、可信基线、操作上下文和其他证据判断。教材还提到可用不可变或仅追加属性保护关键文件与日志。此类属性会影响正常维护应按系统管理策略谨慎配置而不是对所有文件一概使用。三、阅读问题Linux 如何把传统权限扩展为更细的控制1. Capabilities 为什么能缩小 root 权限传统上特权操作容易与完整的 root 权限绑定。Linux Capabilities 把部分管理权限拆分成较小的能力集合例如网络管理、系统时间设置或进程跟踪等。程序在完成特定管理任务时只需获得所需能力有助于遵循最小权限原则缩小进程被攻破后的影响范围。教材还区分了访问控制列表与能力列表访问控制列表从对象一侧记录主体及其权限能力列表从主体一侧记录它可访问哪些对象、执行哪些操作。Capabilities 适用于比文件访问更广的特权管理。不过“拆分权限”并不自动保证安全能力的授予、继承和使用仍需按实际任务限制。2. AppArmor 与 SELinux 的约束方式有何差别两者都是 Linux 安全模块LSM框架上的访问控制方案。LSM 通过内核关键访问路径上的安全检查点hook调用安全模块的判断逻辑为传统 DAC 增加额外的策略检查。教材主要通过配置方式帮助区分它们AppArmor 通常以应用程序关联的 profile 描述可访问路径和资源具有较强的路径导向特征教材介绍的 SELinux 则把进程和对象关联到安全上下文标签由策略决定某个主体能否对某类对象执行某项操作。SELinux 的标签示例包含用户、角色、类型和安全级别等部分。可以把前者概括为围绕程序 profile 组织规则把后者概括为围绕标签和策略作访问判断这只是帮助理解的简化实际规则和实现细节应以目标系统文档为准。SELinux 的 permissive 模式会记录策略拒绝但不阻止访问enforcing 模式会执行策略disabled 则不启用该机制。AppArmor 也有执行限制和学习/抱怨模式。调试策略时记录拒绝信息有助于发现缺失规则但“只记录不拦截”不是最终的强制防护状态。是否启用、如何切换以及配置文件位置会随发行版和版本变化不能直接照搬教材中的服务命令或配置路径。3. seccomp 在安全体系中扮演什么角色教材把 seccomp 描述为对进程系统调用施加约束的机制。与按文件对象或安全标签判定访问不同seccomp 关注进程能够发起哪些系统调用及其处理方式。它适合缩小程序可使用的内核接口范围但并不能代替用户权限、文件访问控制或应用自身的安全设计。多种机制组合起来才能覆盖不同攻击面。四、阅读问题可信计算和机密计算分别解决什么问题可信计算强调以硬件安全机制建立受保护的执行环境并验证启动或运行环境的可信状态。教材回顾了 TPM/TCM、动态可信根以及 ARM TrustZone 等思路目标是在硬件和软件配合下建立信任链并隔离敏感代码或数据。可信执行环境TEE可为特定任务提供与普通执行环境隔离的空间。机密计算进一步关注“数据正在被处理时如何保护”。教材以 Intel SGX enclave 为例说明敏感代码和数据可在隔离区域中运行并介绍华为 secGear 以 Base、Middleware、Service 三层提供统一接口、开发支持和安全服务示例展示了 EDL 接口、CMake 配置以及安全侧和非安全侧代码的配合。我把两者的关系理解为可信计算关注执行环境如何建立信任机密计算关注运行中数据和代码如何受到隔离保护。它们都依赖硬件、固件、操作系统、工具链和应用的配合不是装上某个框架就自动获得绝对安全。书中的 secGear 版本、支持的处理器、操作系统和 SGX/TrustZone 配置都有明确环境条件示例命令是教材中的开发流程并非我在本机完成的实测。五、我的理解读完本章我对 Linux 安全的理解从“设置好文件权限”扩展为多个层次的共同作用身份和账户确定主体DAC 提供基础的对象权限Capabilities 把特权拆分LSM 安全模块再按策略检查访问seccomp 等机制可以进一步限制系统调用面日志与审计则帮助追踪和复核事件。可信执行环境与机密计算把保护边界延伸到硬件支持的隔离空间。这些机制解决的问题不同不能互相替代。例如SELinux 的策略检查不能取代安全的软件更新Capabilities 不能替代正确的文件权限机密计算也不能证明应用逻辑本身没有缺陷。实际防护应从威胁和所需权限出发选择合适的控制并通过日志和测试确认策略按预期工作。阅读范围与说明本文根据《庖丁解牛 Linux 操作系统分析》第十二章“Linux 系统安全相关技术”教材印刷页 354–394整理。本文是教材阅读总结没有执行书中的 AppArmor、SELinux 或 secGear 命令也没有把示例配置写成个人实验结果。书中关于具体发行版、配置路径和硬件支持的描述应以目标系统当前文档为准。参考资料孟宁、娄嘉鹏《庖丁解牛 Linux 操作系统分析》第十二章“Linux 系统安全相关技术”第 354–394 页。《Linux 内核分析》MOOC 课程http://mooc.study.163.com/course/USTC-1000029000

相关新闻

AI 员工实战:基于 WorkBuddy 搭建业务智能体,从定岗到上线迭代全流程

AI 员工实战:基于 WorkBuddy 搭建业务智能体,从定岗到上线迭代全流程

很多企业尝试大模型落地,最终只是拿 AI 写写周报,没能嵌入真实业务流程。本文手把手带你落地WorkBuddy AI 员工,将大模型智能体集成到企业微信。从岗位定义、知识库搭建、场景配置,到 30 天试运行 SOP、持续迭代优化,完…

2026/10/9 12:55:27 阅读更多 →
AI-Native IDE超能力:Superpowers编程工作流实战指南

AI-Native IDE超能力:Superpowers编程工作流实战指南

1. “Superpowers”不是功能开关,而是新一代AI编程工具链的统称最近在开发者社区里,“superpowers”这个词高频出现,但它既不是某个具体软件的名称,也不是某家公司的注册商标,更不是某种神秘API密钥。它本质上是一类面…

2026/10/9 10:49:38 阅读更多 →
dsh-pocket 连不通排查指南:认证、网络、配置分层定位

dsh-pocket 连不通排查指南:认证、网络、配置分层定位

1. 装完连不通这件事,先别急着卸载重装dsh-pocket 这类 CLI 工具装完之后连不通,是很多人第一次上手 DeepSeek Harness 时最容易卡住的环节。我见过太多人一看到报错就条件反射地npm uninstall再重装,折腾两小时发现根本不是安装的问题。实际…

2026/10/9 11:00:17 阅读更多 →

最新新闻

JavaWeb试题库系统实战:Servlet+JSP+MySQL全流程部署与调优

JavaWeb试题库系统实战:Servlet+JSP+MySQL全流程部署与调优

简介:这是一份面向计算机、通信、人工智能及自动化等专业学生的JavaWeb课程实践资源,聚焦试题库管理系统的完整开发实现,适用于期末大作业、课程设计或毕业设计参考。资源包含可直接运行的源码、配套MySQL数据库脚本及详细文档说明&#xff0…

2026/10/9 12:55:31 阅读更多 →
Qt TCP Socket实战指南:从原理到粘包拆包、心跳重连与断线恢复

Qt TCP Socket实战指南:从原理到粘包拆包、心跳重连与断线恢复

1. 先搞清楚Qt TCP Socket到底是什么做Qt开发这么多年,经常有人在群里问"怎么用Qt写网络通信",其实Qt框架对Socket的封装已经非常成熟,你不需要像写Linux C那样手动去处理套接字描述符、bind、listen、accept这一长串流程&#xff…

2026/10/9 12:55:31 阅读更多 →
TIL:Rails 迁移 DSL 实战——用 create_join_table 创建多对多连接表

TIL:Rails 迁移 DSL 实战——用 create_join_table 创建多对多连接表

文档教程知识库 【免费下载链接】til :memo: Today I Learned 项目地址: https://gitcode.com/gh_mirrors/ti/til 点击查看 免费下载 Rails 的迁移 DSL 为"在两个已存在的表之间创建连接表(join table)"这一高频需求提供了专用助手…

2026/10/9 12:55:31 阅读更多 →
ThinkPHP 5.0 请求生命周期与架构解析:从入口到响应的完整流程

ThinkPHP 5.0 请求生命周期与架构解析:从入口到响应的完整流程

1. 从入口文件说起:一次请求到底经历了什么很多人学tp5.0,上来就啃控制器和模型,结果写了几周代码,还是说不清一个URL从浏览器敲下去到页面返回,中间到底跑了哪些代码。我当初也是这样,直到有一次线上出了个…

2026/10/9 12:55:31 阅读更多 →
高中数学集合与函数核心概念与解题方法全解析

高中数学集合与函数核心概念与解题方法全解析

1. 从一道让全班卡壳的题说起:集合与函数到底难在哪如果你问一个刚上高一的学生,高中数学第一个让你觉得“不对劲”的地方是什么,十有八九会提到集合与函数。初中数学好歹还能靠直觉和公式硬算,到了集合这里,突然冒出一…

2026/10/9 12:55:31 阅读更多 →
Claude Code 长期记忆方案:用 claude-mem 实现跨会话上下文持久化

Claude Code 长期记忆方案:用 claude-mem 实现跨会话上下文持久化

Claude Code 用久了,你一定会遇到一个尴尬的场景:昨天刚和它梳理清楚的模块架构,今天打开新会话它全忘了,你得重新讲一遍背景、贴一遍文件结构、再说一遍约束条件。更难受的是,这种“失忆”不是偶发,而是常…

2026/10/9 12:54:30 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →