Как запустить java-код в ограниченной песочнице (без доступа к сети, файловой системе)

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

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


person Jus12    schedule 08.02.2012    source источник
comment
Вы читали это? stackoverflow.com/questions/2867747 /   -  person PeterMmm    schedule 08.02.2012


Ответы (2)


Вы можете управлять средой с помощью файлов политик http://docs.oracle.com/javase/1.4.2/docs/guide/security/PolicyFiles.html#Examples (архивная версия @archive.org)

Вы могли бы бежать, а затем запустить свою банку

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

person gt5050    schedule 08.02.2012
comment
Итак, можно ли сделать следующее: запустить мою программу с полным доступом, а затем программно загрузить банку с ограничениями - person Jus12; 08.02.2012

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

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

person codecodewut    schedule 27.07.2015