尝试删除文件时AccessControlException

时间:2008-11-10 05:15:15

标签: java security servlets filesystems io

我们有一个使用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文件以允许服务删除文件。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

作为quickfix,您可以使用包含以下内容的策略文件启动应用程序:

grant {
    permission java.security.AllPermission;
};

使用命令行选项:

-Djava.security.policy =文件:其中your_policy_file>

有关如何配置策略文件以获取所需访问权限的详细信息,请参阅this link

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