簡體   English   中英

在openjdk中,安全策略沒有生效

[英]In openjdk, security policies are not taking effect

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

我已將 java 進程配置為使用 java 安全管理器,它使用 Apache 服務器來運行該進程。 因此 Apache 客戶端在默認和/或自定義策略文件中查找“java.version”讀取權限。

我已經包含了現成的屬性權限,但我得到了奇怪的 AccessControlException。

我看到的例外是:

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:

我還嘗試使用以下行強制執行所有權限:

grant{ permission java.security.AllPermission; };

但似乎它仍然無法正常工作。 我也嘗試在設置策略文件時使用'==',這意味着'如果你使用

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

(注意雙等號)然后只使用指定的策略文件; 安全屬性文件中指示的所有內容都將被忽略。`

根據 jdk 8 文檔

任何幫助深表感謝。

在我看來,該政策沒有生效。 如果您安裝了多個 JDK 版本,您確定您已經修改了與您正在運行的同一版本的默認策略嗎? 我首先授予 AllPermissions 以確保策略生效,然后專注於權限行本身。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM