沙箱系列 · 第 3 期 · 原理

技术原理拆解

文件边界到底是怎么拦出来的:不是靠程序自觉,而是三条链路。

读完约 8–12 分钟 配套短视频 ep3
先把结论放前面。真沙箱拦文件:① 先定可写范围 → ② 把进程放进受限环境启动 → ③ 每次读写由内核做访问检查。没资格,写失败。

定边界 · 可写范围

系统会明确:哪些路径可读,哪些路径可写。

常见可写

工作区(当前项目);临时目录有时也可写。

常见不可写

项目外、系统目录、以及一些保护路径,默认不能改。

这是白名单思维:先规定「能碰哪里」,再谈执行。

受限启动

命令不是裸奔。启动时会换环境,让落地进程已经带限制

平台常见做法(形态)目的
Linux 常用 bubblewrap (bwrap):整盘先只读挂上,再只把可写目录绑回来 挂载边界 + 命名空间
macOS Seatbelt 策略:默认拒绝,再放开允许的读写 策略默认拒绝
Windows 削弱进程令牌,再用磁盘 ACL 决定能不能写 身份变严 + ACL

形态不同,目的一样:进程一落地就带着限制。

内核执法

真正写盘的时候,不是应用自己说了算。操作系统在访问路径上查资格

  • 允许区内:写入的是宿主机真文件(呼应第 2 期)。
  • 区外:直接失败。你看到的 DENY,往往来自系统,不是一句警告。
串起来记:白名单定范围 → 启动时装限制 → 写盘时内核验票。这才叫强制隔离。

三步在各平台怎么落

1

范围

白名单路径

2

启动

bwrap / Seatbelt / Token

3

验票

内核 / 策略 / ACL

不必死记命令行细节;先记住三步心智模型,再按平台查文档。

和假隔离一眼看懂

假隔离真隔离
边界只约定文件夹白名单 + 启动限制
权限进程完整权限落地已削弱 / 已套策略
越界换路径可能写出去验票失败 → 写不进

三期连起来

① 概念

沙箱是什么:隔离靠强制。

② 现象

文件真假隔离:同盘真文件,区外失败。

③ 原理

拦法从哪来:范围 → 启动 → 内核。

还想拆网络隔离,或 Windows 令牌细节?欢迎在社区或短视频评论区反馈,专栏会按优先级续更。