我正在运行 Windows Server 2012 R2。
我有一个每 30 分钟运行一次的任务。基本上,它会检查接口地址是否已更改,更新配置文件并重新启动应用程序。由于配置文件位于 C:\Program Files 中,因此该进程必须以最高权限运行,否则将拒绝访问该文件。
这很好用 - 问题是,当重新启动的应用程序创建文件时,默认情况下它们归管理员组所有。我使用属于管理员组、域管理员组、Hyper-V 管理员组等的其他帐户,但每次我尝试修改该应用程序创建的文件时,都会收到 UAC 提示。
我必须手动编辑创建的文件/目录的安全性并授予自己明确的权限 - 管理员组的权限似乎没有被继承 - 有人知道是什么原因造成的吗?
答案1
您自己说该任务以最高权限运行 - 例如使用管理员用户。
因此,此任务创建的每个文件都将被赋予相同用户上下文的权限。
为缓解此问题,您可以采取以下措施:要么以另一个(权限较低的)用户身份运行可能创建文件的命令,要么让您的任务在创建文件后设置正确的权限。