gpt4 book ai didi

Java 策略设置不适用于 FilePermission

转载 作者:行者123 更新时间:2023-11-30 09:35:41 26 4
gpt4 key购买 nike

我们的 Java 策略文件过去只是:

grant {
permission java.security.AllPermission;
};

我正在努力使我们的应用程序更安全,而不是将所有内容都授予每个人。我让它运行良好,但我无法授予文件权限。

我目前得到的错误是:

java.security.AccessControlException: access denied (java.io.FilePermission \\server.log write)

我试过很多东西的组合,例如:

permission java.io.FilePermission "\\\\server.log", "write";
permission java.io.FilePermission "C:\\Temp\\logs\\server.log", "write";
permission java.io.FilePermission "\\server.log", "write";
permission java.io.FilePermission "${TEMP}${/}-", "write";
permission java.io.FilePermission "*", "read,write";

我唯一能让它工作的是使用:

grant {
permission java.security.AllPermission;
};

我在使用时收到错误“java.io.FileNotFoundException:\server.log(文件名、目录名或卷标语法不正确)”(即使文件确实存在):

permission java.io.FilePermission "<<ALL FILES>>", "write";

只是想知道是否有人有任何其他想法可以尝试。我真的不想为了获得正确的文件权限而诉诸全部授予,显然我遗漏了一些东西。

编辑:

我刚刚意识到这可能是日志文件中的一个线索:

log4j:ERROR setFile(null,false) call failed.

也许我特别需要一些权限?现在在谷歌周围挖掘....

最佳答案

在 Oracle 文档中有一些例子: https://docs.oracle.com/javase/8/docs/technotes/guides/security/spec/security-spec.doc3.html

permission java.io.FilePermission "myfile", "read,write";
permission java.io.FilePermission "/home/gong/", "read";
permission java.io.FilePermission "/tmp/mytmp", "read,delete";
permission java.io.FilePermission "/bin/*", "execute";
permission java.io.FilePermission "*", "read";
permission java.io.FilePermission "/-", "read,execute";
permission java.io.FilePermission "-", "read,execute";
permission java.io.FilePermission "<<ALL FILES>>", "read";

permission java.io.FilePermission "c:\\temp\\foo", "read,write,delete")
\\this one works for me

关于Java 策略设置不适用于 FilePermission,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11229345/

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