3 个版本 (破坏性)
0.3.0 | 2023年12月2日 |
---|---|
0.2.0 | 2023年11月21日 |
0.1.0 | 2023年9月20日 |
#703 在 Unix APIs
每月21次下载
155KB
4K SLoC
cordon
嵌入式、可定制的Rust无根容器化。
里程碑
- M1: 钢铁线程
- M2: 挂载命名空间和文件系统控制
- M3: PID命名空间和UID映射
- M4: 控制组
功能
- 给子进程一个挂载列表
M1: 钢铁线程
该库的一个完整但有限的实现,可以在用户命名空间中启动用户指定的程序。 此里程碑完成时,“whoami”在沙箱中运行返回“root”。
M2: 挂载命名空间和文件系统控制
我们将添加进入沙箱中的挂载命名空间的功能,以更改沙箱程序的明显根目录,并操作沙箱内部的挂载表。 此里程碑完成时,“ls /”的输出在沙箱内外不同。
M3: PID命名空间,UID映射
我们将添加将沙箱程序放入PID命名空间的能力,并将沙箱内部的用户ID映射到沙箱外部的用户ID。 此里程碑完成时,沙箱内部写入的文件在主机上看起来是外部进程用户ID的所有者,并且当“sh -c 'echo $$'”在沙箱内返回1时。
M4: 控制组
我们将添加将沙箱子进程放入Linux控制组的能力,并允许调用者设置其参数。此里程碑完成时,主机可以使用cgroup freezer挂起和恢复沙箱子进程。
依赖项
~13MB
~235K SLoC