安全模型与访问控制

这页讲的是:Linux 内核不仅要提供功能,还要决定“谁能做什么”。安全模型与访问控制,讲的是权限边界、能力限制和系统自我保护规则如何嵌进内核运行之中。

这块是什么

安全模型与访问控制,讲的是内核如何判断某个操作是否被允许,以及如何降低系统被误用或滥用后的破坏范围。它不是只在“安全软件”里发生,而是从用户权限、文件访问、模块加载到系统调用边界,都有它的身影。

可以把它理解成“系统规则总控”:不是所有人都能去所有房间,也不是拿到钥匙的人就能随便动整栋楼。

它负责什么

控制访问边界

  • 判断谁可以访问哪些对象
  • 限制危险操作的触发条件
  • 保护系统关键资源
  • 让错误或恶意行为不至于无限扩散

细化权限模型

  • 不只区分“能”或“不能”
  • 把大权限拆成更细颗粒度能力
  • 减少“一旦拿到就全能”的情况
  • 让治理规则更精细

承接更强约束机制

  • 支持更严格的安全策略
  • 和系统调用边界、模块装载、文件访问等配合
  • 帮助系统建立更可信的运行约束
  • 为更高层的安全治理提供底座

为什么安全不是“额外加的一层”

场景你现在怎么理解为什么离不开内核
文件访问程序能不能读、写、执行某个对象,不只是应用自己说了算。真正的资源和边界都在内核这一层。
系统调用应用请求某项能力时,需要有统一规则判断是否合法。系统边界本来就在内核入口处。
模块加载不是任何代码都该随时插进内核。内核一旦被错误或恶意代码污染,影响的是整机。
容器与多租户多个服务共处一机时,需要清晰控制越权和突破边界的风险。隔离和权限都必须由底层系统认真落实。

关键概念

概念现在怎么理解
权限检查在关键操作发生前,由内核判断是否允许。
能力拆分把原本过大的权限拆成更细的控制单位,减少全能权限滥用。
最小权限只给完成任务所需的最少能力,不多给。
安全策略对资源访问、行为边界和风险动作所施加的一组系统规则。
内核自保护系统不仅要防外部越权,也要尽量降低内部错误带来的灾难性后果。

为什么重要

常见误解

它不负责什么

和其他模块的关系

相关模块关系
系统调用边界很多权限和合法性判断都发生在用户请求正式进入内核时。
文件系统文件和目录访问是最常见的权限判定场景之一。
构建 / 模块加载是否允许加载模块、哪些能力可以动态接入,是重要安全边界。
容器 / cgroup隔离和资源治理想真正可信,也离不开安全规则配合。

你现在可以先把安全边界分成几类

边界类型它主要在挡什么为什么别混成一个词
身份与权限边界谁能发起哪些敏感操作。这更像“你有没有资格碰这个资源”。
资源访问边界即使能运行,也不代表能随意读写所有文件、设备和接口。这更像“你能碰哪一部分系统世界”。
内核扩展边界什么代码可以被装进内核、什么能力可以动态接入。这类边界一旦失守,影响往往不是单个进程,而是整机。
多租户隔离边界一份系统里不同服务、容器或租户之间能否互相越界。这能帮助你把安全问题和资源治理问题联系起来,而不是分开看。

读完这页后,你应该能回答

后面适合继续问:能力拆分为什么比粗糙的大权限更重要?哪些边界最容易成为安全敏感点?容器隔离为什么既是资源问题也是安全问题?