我们的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.也许我需要一些特别的许可?搜索谷歌现在..。
发布于 2015-05-25 11:03:58
在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发布于 2020-05-01 19:11:29
我认为问题是因为您试图在未经允许的情况下写入文件。
permission java.io.FilePermission "C:\\folder\\*", "read, write";https://stackoverflow.com/questions/11229345
复制相似问题