首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在openjdk中,安全策略没有生效。

在openjdk中,安全策略没有生效。
EN

Stack Overflow用户
提问于 2019-10-29 07:13:09
回答 1查看 1.3K关注 0票数 1

在redhat-openjdk:1.8.0中,jvm java.policy和custom.policy文件的java.version在活动过程中是有效的

我已经将java进程配置为使用java安全管理器,它使用Apache服务器运行该进程。因此,Apache在默认和/或自定义策略文件中查找"java.version“读取权限。

我已经包含了ready权限,但是我得到了奇怪的AccessControlException。

我看到的例外是:

代码语言:javascript
复制
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.version" "read")

我在jvm/secruity/java.policy中设置了属性权限条目

代码语言:javascript
复制
permission java.util.PropertyPermission "java.version", "read";

在文件路径完全限定的custom.policy ( -Djava.security.manager -Djava.security.policy=custom.policy)中,我只是为了更好地理解而缩短了文件路径:

代码语言:javascript
复制
 permission java.util.PropertyPermission "java.version", "read";

期望运行java进程时不会出现问题,但这是不可能的。

编辑1:

我还尝试使用以下行强制执行所有权限:

grant{ permission java.security.AllPermission; };

但看上去还是不起作用。我还尝试在设置策略文件时使用“==”,意思是“如果您使用

代码语言:javascript
复制
java -Djava.security.manager -Djava.security.policy==someURL SomeApp

(注意双等于)然后只使用指定的策略文件;安全属性文件中指示的所有策略文件都将被忽略。

根据jdk 8 doc

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2019-11-05 19:06:56

在我看来,这项政策并没有生效。如果您安装了多个JDK版本,您确定您已经为正在运行的相同版本修改了默认策略吗?我首先授予AllPermissions以确保策略是有效的,然后关注权限行本身。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58602793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档