Как запустить Java-код в изолированной песочнице (без сети, доступ к файловой системе) - PullRequest
10 голосов
/ 08 февраля 2012

Скажем, какой-то программист дает мне исполняемый файл jar (из кода Java) вместе с точкой входа для использования.Я хочу запустить этот jar (программно) из кода Java в ограниченной среде песочницы без доступа к сети или файловой системе или к базе данных, а также к фиксированному количеству ЦП и памяти.Т.е. код Java не должен вызывать побочных эффектов для других программ, работающих на my jvm.

В идеале я хотел бы разрешить определенный доступ в зависимости от ситуации (например, только файлы в определенном каталоге с квотой).).

Ответы [ 2 ]

8 голосов
/ 08 февраля 2012

Вы можете управлять средой, используя файлы политики http://docs.oracle.com/javase/1.4.2/docs/guide/security/PolicyFiles.html#Examples

, которую вы можете запустить, а затем запустить jar

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

1 голос
/ 27 июля 2015

На этой странице подробно описан процесс:

http://www.jayway.com/2014/06/13/sandboxing-plugins-in-java/

...