尝试删除文件时出现 AccessControlException

Posted

技术标签:

【中文标题】尝试删除文件时出现 AccessControlException【英文标题】:AccessControlException when attempting to delete a file 【发布时间】:2010-09-21 14:00:18 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

grant 
    permission java.security.AllPermission;
;

使用命令行选项:

-Djava.security.policy=file:

请参阅this link,了解如何配置您的策略文件以获得所需的访问权限。

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

【讨论】:

以上是关于尝试删除文件时出现 AccessControlException的主要内容,如果未能解决你的问题,请参考以下文章

尝试以编程方式删除文件夹时出现“目录不为空”错误

Terraform:尝试销毁 EKS 集群时出现“错误:删除 S3 存储桶时出错”

Quickblox:删除内容项(图片文件/blob)时出现问题

错误代码:从 SharePoint 文档库中删除文件时出现 3604

获取'无效更新:尝试从 UICollectionView 删除单元格时出现异常

使用 imaplib 在 gmail 中删除电子邮件时出现问题