我想制作一个在本地运行其他人代码的 Web 服务。自然,我想限制他们的代码访问某个“沙盒”目录,这样他们就无法连接到我服务器的其他部分(数据库、主网络服务器等)
最好的方法是什么?
运行 VMware/Virtualbox:
+ 我想它是最安全的。即使有人设法“破解”,他们也只会破解来宾机器
+ 可以限制进程使用的 CPU 和内存
+ 易于设置 - 只需创建虚拟机
- 更难将沙盒目录从主机“连接”到来宾
- 浪费额外的内存和 CPU 来管理 VM
运行特权用户:
+ 不浪费额外资源
+ 沙盒目录只是一个普通目录
? 不能限制CPU和内存?
? 不知道够不够安全
还有什么办法吗?
运行 Fedora Core 8 的服务器,用 Java 和 C++ 编写的“其他”代码