gpt4 book ai didi

java - 在openjdk中,安全策略没有生效

转载 作者:行者123 更新时间:2023-11-30 05:25:58 24 4
gpt4 key购买 nike

在redhat-openjdk:1.8.0中,jvm java.policy和custom.policy文件的java.version在activeprocess上生效

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

我已经包含了准备好的属性权限,但我遇到了奇怪的 AccessControlException。

我看到的异常(exception)是:

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 中拥有正确的权限属性权限条目

permission java.util.PropertyPermission "java.version", "read";

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

 permission java.util.PropertyPermission "java.version", "read";

期望运行java进程没有问题,但这并没有发生。

编辑1:

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

授予{
权限 java.security.AllPermission;
};

但是好像还是不行。我还尝试在设置策略文件时使用“==”,这意味着`如果你使用

java -Djava.security.manager -Djava.security.policy==someURL SomeApp

(注意双等号)则仅使用指定的策略文件;安全属性文件中指示的所有内容都将被忽略。`

As per jdk 8 doc

非常感谢任何帮助。

最佳答案

我认为该政策尚未生效。如果您安装了多个 JDK 版本,您确定已修改了正在运行的同一版本的默认策略吗?我首先授予 AllPermissions 只是为了确保该策略有效,然后关注权限行本身。

关于java - 在openjdk中,安全策略没有生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58602793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com