[英]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 版本,您確定您已經修改了與您正在運行的同一版本的默認策略嗎? 我首先授予 AllPermissions 以確保策略生效,然后專注於權限行本身。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.