Bob*_*Bob 10
实际上有多种类型的虚拟机,在其他答案中有点遗漏了。你可以拥有所谓的容器虚拟化——比如 Linux vServer 或 OpenVZ。它们共享主机内核,运行所谓的“容器”(使用它们自己的环境)而不是虚拟化任何硬件,并且几乎与裸机一样快。(OpenVZ 在更便宜的 VPS 服务中更常见,但最多只支持自定义内核 2.6.x,而 vServer 则支持最新的稳定版本)。
除此之外,现代机器上完全虚拟化的开销并没有你想象的那么糟糕!使用中高端 CPU 上的硬件虚拟化,大多数用户甚至不会注意到任何性能损失,除非存在资源争用(例如主机或另一个 VM 正在使用大量资源)。它会慢一点,因为来宾操作系统使用了一些资源,但是虚拟化本身的成本几乎可以忽略不计 - 特别是 CPU 使用率,因为它可以传递给原始硬件而(几乎)没有转换,如果它是硬件加速。你可以尝试一下,你可能会感到惊讶。
请注意,每个都带有不同级别的隔离。容器虚拟化使得利用内核和其他错误来“突破”容器变得更加容易——LXC 根本不安全,尽管 OpenVZ 被认为非常成熟和安全(并且通常用于您销售的 VPS 服务中)容器给不受信任的人)。vServer 介于两者之间。全虚拟化具有更好的隔离性,但仍有一些攻击需要爆发。
这取决于您期望恶意学生走多远。以不同的用户身份运行可能就足够了。您可能需要一个容器以提高安全性。在这种情况下,一个容器可能足以容纳您将遇到的任何事情。
小智 8
创建一个权限有限的单个用户帐户(这意味着只能访问一组有限的库例程,甚至可能是精简的 shell 访问权限)。
ssh
作为系统中的用户,并运行他们的程序。
您甚至可以编写一个小的bash
shell 脚本(或任何其他 shell 脚本)来实现这一点。
归档时间: |
|
查看次数: |
1205 次 |
最近记录: |