我有一个基于Java的应用程序,该应用程序在Windows上的C:\ ProgramData下创建了许多文件...所有用户,访客和非用户运行的自动脚本/程序都必须可读这些文件。一个示例文件是“ ca-trust.crt”,该文件在应用程序作为服务运行时创建(未配置服务用户,因此其作为本地计算机上下文运行)。
我的应用程序为组Everyone显式添加了一个ACL,使其具有READ,READ + EXECUTE。但是,尝试打开要读取的文件时,我的应用程序获得“访问被拒绝”。如果我以普通用户身份运行Powershell并运行“ type C:\ ProgramData ...”,也会发生同样的事情。
有关权限和“类型...”命令输出,请参见下图。
如果我以管理员身份打开PS提示符并为同一文件运行“ type C:\ ProgramData ...”,则效果很好。
测试系统已加入Windows 10企业版非AD。
答案 0 :(得分:0)
除了所有READ_ *标志之外,还将SYNCHRONIZE添加到ACL中解决了该问题。谢谢eryksun!