【发布时间】:2016-02-05 08:59:57
【问题描述】:
是否可以实现某种 JVM 沙箱来运行应用程序?我想限制此应用程序的访问,例如文件 IO、网络等。
有什么方法可以控制这些资源访问,以便在这个沙箱中运行 JVM 内的应用程序?
【问题讨论】:
标签: java jvm sandbox sandbox-solution
是否可以实现某种 JVM 沙箱来运行应用程序?我想限制此应用程序的访问,例如文件 IO、网络等。
有什么方法可以控制这些资源访问,以便在这个沙箱中运行 JVM 内的应用程序?
【问题讨论】:
标签: java jvm sandbox sandbox-solution
这就是SecurityManager 的用途。
他们甚至有一个tutorial。
【讨论】:
除了 JVM 的安全管理器之外,您还可以使用特定于操作系统的安全机制。最简单的是在单独的用户下运行 JVM。
更高级的隔离技术存在于各种平台上。例如 linux 有 seccomp-bpf、命名空间、selinux、功能和其他各种东西。 Firejail 和 systemd-nspawn 使用它们。
【讨论】: