gpt4 book ai didi

java - 即使我在java.security中指定了policy.url,访问也被拒绝

转载 作者:行者123 更新时间:2023-11-30 05:10:14 26 4
gpt4 key购买 nike

我正在阅读oracle关于java安全性的教程。(http://download.oracle.com/javase/tutorial/security/toolsign/rstep4.html)

我基本上复制了教程中的所有文件和所有内容。

我可以在 unix 中使用以下方法通过安全管理器运行该文件:

java -Djava.security.manager -Djava.security.policy=recvPolicy -cp sCount.jar Count ../../test

但是当我尝试在 java.security 文件中指定新的policy.url 时,如下所示:

policy.url.1=file:${java.home}/lib/security/java.policy
policy.url.2=file:${user.home}/.java.policy
policy.url.3=file:/home/myhome/SigningTest/recvPolicy

当我运行时它给了我一个异常:

java -Djava.security.manager -cp sCount.jar Count ../../test

异常(exception)是这样的:

Exception in thread "main" java.security.AccessControlException: access denied (java.io.FilePermission ../../test read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkRead(SecurityManager.java:871)
at java.io.FileInputStream.<init>(FileInputStream.java:100)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at Count.main(Count.java:17)

感谢反馈

最佳答案

好的,我对此进行了快速测试,它对我有用。所以唯一可能导致这个问题的事情(我的猜测)是你的unix机器上安装了两个jdks。因此,请确保您用于命令行执行的“java”与您修改了 java.security 的版本相同。

默认的 sun java 6 安全文件(如果您使用的是 ubuntu)位于:

/etc/java-6-sun/security/java.security

因此请确保您正在编辑正确版本的 java.security

关于java - 即使我在java.security中指定了policy.url,访问也被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3682129/

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