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