我可以在没有管理员特权的情况下使用 /proc创建一个Chroot环境



我正在尝试制作一个chroot,沙盒的构建式环境,该构建的构造在构建应用程序之前,它是通过git结帐创建的。一个要求之一是,进行GIT结帐并调用构建的开发人员不需要在主机机器上进行管理特权。

unshare -r chroot

工作正常 - 除了没有/proc,这再次意味着许多分开的东西无法正常工作。我发现使用Mount的各种创建/Proc的方法需要sudo权利。

Docker这样做,但是开发人员必须在" Docker"组中有效地为他们提供了不受控制的根访问权限 - 然后赋予他们Sudo权利。

我找到了" proot",它可以做出某种仿真来做到这一点。但是,这有一些绩效处罚。

您还需要一个安装命名空间,该空间将使您能够执行递归绑定安装座(以及在没有子坐骑的情况下平原绑定安装座(。pivot_root和安装TMPF的能力,因此请使用unshare -rm

使用pid lameapce,您还可以启动新鲜实例。

我最终使用bubblewrap(bwrap(。对于使用TTY的几件事,我不得不让它与伪UID 0一起运行。

如果我现在应该这样做,我会使用Podman。

最新更新