1

我们有一个使用 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在目录中执行操作时,服务帐户确实有权读取和写入文件和目录。

从一些最初的谷歌搜索看来,我们可能必须更改security.policy文件以允许服务删除文件。有什么建议么?

4

1 回答 1

1

作为快速修复,您可以使用具有以下内容的策略文件启动应用程序:

grant {
    permission java.security.AllPermission;
};

使用命令行选项:

-Djava.security.policy=file:<your_policy_file>

有关如何配置策略文件以获得所需访问权限的更多信息,请参阅此链接。

编辑:对不起,但我不知道如何配置您的 Web 应用程序如何使用该策略文件,但至少该链接应该提示您获得所需的权利......

于 2008-11-10T07:30:26.177 回答