我们有一个使用log4j进行日志记录的java Web服务应用程序。当log4j尝试删除其滚动日志文件时会抛出异常
Exception:java.security.AccessControlException: access denied
(java.io.FilePermission /var/opt/SUNWappserver/domains/domain1/
applications/j2ee-modules/ourwebservice/WEB-INF/logs/IMWrapper.log.10 delete)
当我们在目录中执行ls
时,服务帐户有权读取和写入文件和目录。
从一些初始的Google搜索,似乎我们可能需要更改security.policy
文件以允许服务删除文件。有什么建议吗?
答案 0 :(得分:1)
作为quickfix,您可以使用包含以下内容的策略文件启动应用程序:
grant {
permission java.security.AllPermission;
};
使用命令行选项:
-Djava.security.policy =文件:其中your_policy_file>
有关如何配置策略文件以获取所需访问权限的详细信息,请参阅this link。
编辑:对不起,但我不知道如何配置您的Web应用程序如何使用该策略文件,但至少该链接应该暗示您获得所需的权限...