3

我使用 Jython 和 java 安全策略编写了一个用于运行受限制的 python 脚本的 python-沙箱。为了授予权限,我定义了一个这样的策略文件:

grant {

    permission java.io.FilePermission "Lib\\-", "read";
    permission java.lang.RuntimePermission "createClassLoader";
    permission java.lang.RuntimePermission "getProtectionDomain";

};

例如,在任何 python 脚本中导入 os.py 模块都需要从 jython.jar 的“Lib”文件夹读取的 FilePermission。

因此 jython 有权使用 egos.mkdir("Dir")os.getpid(),因为“os.py”模块位于 jython.jar Lib 文件夹中。

如何授予更具体的权限,例如 python 脚本有权运行os.getpid()但没有os.mkdir("Dir")

4

0 回答 0