【问题标题】:How to run java code in a restricted sandbox (without network, filesystem access)如何在受限沙箱中运行 java 代码(无网络、文件系统访问)
【发布时间】:2012-02-08 11:32:21
【问题描述】:

假设某个程序员给了我一个可执行的 jar(来自 Java 代码)以及要使用的入口点。我想在没有网络或文件系统访问或数据库访问以及固定数量的 CPU 和内存的受限沙盒环境中从 Java 代码(以编程方式)运行这个 jar。即,Java 代码不应对我的 jvm 上运行的其他程序造成任何副作用。

理想情况下,我希望根据情况允许某些访问(例如,仅允许某个目录中具有配额的文件)。

【问题讨论】:

标签: java sandbox


【解决方案1】:

您可以使用策略文件控制环境 http://docs.oracle.com/javase/1.4.2/docs/guide/security/PolicyFiles.html#Examples (archived version @archive.org)

你可以运行然后运行你的 jar

java -Djava.security.manager -Djava.security.policy=/path/your_policy_file.policy -jar

【讨论】:

  • 那么是否可以执行以下操作:以完全访问权限运行我的程序,然后以限制的方式以编程方式加载 jar
【解决方案2】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 2014-02-21
    • 1970-01-01
    相关资源
    最近更新 更多