Я запускаю Python из Java:
String cmd = "python3";
String code = "<Some python code, that can access fs>";
ProcessBuilder pb = new ProcessBuilder(cmd)
.directory(new File("<Permitted directory>"));
Process p = pb.start();
PrintStream ps = new PrintStream(p.getOutputStream());
ps.println(code);
ps.close();
p.waitFor();
Моя проблема в том, что код python может записывать в файловую систему, поэтому он может ее испортить. Процесс Python должен иметь разрешение только для определенного каталога - рабочего каталога.
Как этого добиться?
Обратите внимание, что из Java я могу вызывать несколько процессов Python в разных каталогах, поэтому каждый процесс Python должен быть разрешен для собственного каталога.