【问题标题】:Can I create a chroot environment with /proc without administrator priviliges?我可以在没有管理员权限的情况下使用 /proc 创建 chroot 环境吗?
【发布时间】:2018-02-12 10:18:30
【问题描述】:

我正在尝试创建一个经过 chroot 的沙盒构建环境,它会在继续构建应用程序之前从 Git 签出中创建自己。其中一项要求是执行 git checkout 和调用构建的开发人员不需要主机上的管理员权限。

unshare -r chroot

工作正常 - 除了没有 /proc 这再次意味着很多标准的东西不会工作。 我发现使用 mount 的各种创建 /proc 的方法都需要 sudo 权限。

Docker 会这样做,但开发人员必须在“docker”组中,这有效地为他们提供不受控制的 root 访问权限 - 然后给他们 sudo 权限。

我找到了执行某种仿真的“根”。然而,这有一些性能损失。

【问题讨论】:

  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super UserUnix & Linux Stack Exchange 会是一个更好的提问地点。
  • jww,您没有正确阅读该主题:我正在尝试构建构建环境。这与软件开发密切相关。

标签: linux sandbox sudo chroot


【解决方案1】:

您还需要一个挂载命名空间,它使您能够执行递归绑定挂载(以及没有子挂载的普通绑定挂载)。 pivot_root 和挂载 tmpfs 的能力,所以使用 unshare -rm

使用 pid 命名空间,您还可以挂载新的 procfs 实例。

【讨论】:

    【解决方案2】:

    我最终使用了bubblewrap (bwrap)。对于一些使用 ttys 的东西,我不得不让它以伪 uid 0 运行。

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

    【讨论】:

      猜你喜欢
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-17
      • 2021-07-10
      • 2013-01-25
      • 1970-01-01
      相关资源
      最近更新 更多