由于超出本文范围的原因,我想运行类似于计算机语言基准游戏的外部(用户提交)代码。显然,这需要在受限环境中完成。这是我的限制要求:
- 只能读取/写入当前工作目录(将是大 tempdir)
- 没有外部访问(互联网等)
我可能不关心的其他任何事情(例如,处理器/内存使用情况等)。
我自己有几个限制。使用标准 *nix 功能(特别是 RHEL 5.x)的解决方案将是首选,因为这样我就可以使用我们的集群作为后端。在那里安装软件也很困难,因此基本发行版中的某些内容将是最佳的。
现在,问题:
- 这甚至可以用外部编译的二进制文件来完成吗?似乎有可能,但也可能只是没有希望。
- 如果我们强制提交代码本身并自己编译会怎样。这会让问题变得更容易还是更难?
- 我应该放弃主目录保护,并使用虚拟机/回滚吗?阻止外部通信怎么样(VM 通常不是通过桥接的 LAN 连接进行通信的吗?)
- 我错过了什么?
可能有用的想法:
- 回复_ 虽然对编译的代码没有帮助
- 在代码完成后使用具有回滚功能的 VM(可以配置网络以便有本地网桥但没有 WAN 网桥吗?)。不适用于集群。