首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不适用于FilePermission的Java策略设置

不适用于FilePermission的Java策略设置
EN

Stack Overflow用户
提问于 2012-06-27 15:08:02
回答 2查看 18.6K关注 0票数 3

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

代码语言:javascript
复制
grant {
  permission java.security.AllPermission;
};

我试图使我们的应用程序更加安全,而不仅仅是把所有的东西都授予给每个人。我做得很好,只是我在批准文件时遇到了麻烦。

我目前遇到的错误是:

代码语言:javascript
复制
java.security.AccessControlException: access denied (java.io.FilePermission \\server.log write)

我尝试过很多种组合方式,比如:

代码语言:javascript
复制
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";

我唯一能让它发挥作用的就是使用:

代码语言:javascript
复制
grant {
  permission java.security.AllPermission;
};

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

代码语言:javascript
复制
permission java.io.FilePermission "<<ALL FILES>>", "write";

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

编辑:

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

代码语言:javascript
复制
log4j:ERROR setFile(null,false) call failed.

也许我需要一些特别的许可?搜索谷歌现在..。

EN

回答 2

Stack Overflow用户

发布于 2015-05-25 11:03:58

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

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2020-05-01 19:11:29

我认为问题是因为您试图在未经允许的情况下写入文件。

代码语言:javascript
复制
permission java.io.FilePermission "C:\\folder\\*", "read, write";
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11229345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档