是否可以为运行应用程序实现某种 JVM 沙箱?我想限制此应用程序的访问,例如文件 IO、网络等。
有什么方法可以控制这些资源访问,以便在这个沙箱中运行 JVM 内的应用程序?
是否可以为运行应用程序实现某种 JVM 沙箱?我想限制此应用程序的访问,例如文件 IO、网络等。
有什么方法可以控制这些资源访问,以便在这个沙箱中运行 JVM 内的应用程序?
这就是SecurityManager的用途。
他们甚至有一个教程。
除了 JVM 的安全管理器之外,您还可以使用特定于操作系统的安全机制。最简单的是在单独的用户下运行 JVM。
更先进的隔离技术存在于各种平台上。例如 linux 有 seccomp-bpf、命名空间、selinux、功能和其他各种东西。Firejail和systemd-nspawn使用它们。