3 个版本 (破坏性)

0.3.0 2023年12月2日
0.2.0 2023年11月21日
0.1.0 2023年9月20日

#703Unix APIs

每月21次下载

MIT 许可证

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