有一个Java应用程序作为服务作为本地系统运行,该应用程序将文件写入C:\ Windows \ Temp(-Djava.io.tmpdir),但是却很难稍后将其删除。没有其他人可以读取该文件。
我决定尝试找出该文件的权限,以了解正在发生的事情。该应用程序可能仍打开了文件(杀死该应用程序将删除该文件)。这里还有一个更大的故事,但要点是,我需要在此状态下获取此文件的许可信息。
我已经启动PowerShell并以PsExec作为NT Authority \ SYSTEM运行,然后在文件所在的文件夹中运行以下命令:dir | Get-Acl | Format-List
收到此错误消息:
Get-Acl : Access is denied
At line:1 char:7
+ dir | Get-Acl | Format-List
+ ~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-Acl], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetAclCommand
本地服务创建了该文件,我是NT Authority \ SYSTEM,所以我应该可以访问它,对吗?那为什么我没有访问权限?
如果我尝试从生成该文件的应用中打开同一文件 ,我也会拒绝访问。
问题是:是否可以获取此特定文件的权限列表?