0

我不确定这是否适合提出此类问题(也许应该放在 SuperUser 上?),但我会尝试。

我有一个 C# 控制台应用程序和一个 Windows 服务。两者的作用相同,但控制台应用程序是之前创建的,并且为了向后兼容而保留。其中每一个都在运行 WCF 服务,其方法对 C:\ProgramData\MyApp 中的文件进行操作。控制台应用程序作为受限用户(非管理员)运行,Windows 服务作为 NT AUTHORITY\NETWORK SERVICE 运行。当应用程序创建一些目录/文件时,服务无法删除它,反之亦然。

我想让它得到保护。我的问题是:我应该将 C:\ProgramData\MyApp 的完全权限授予 NETWORK SERVICE 和当前用户吗?或者我应该创建专门的用户来运行服务/应用程序?

4

1 回答 1

1

假设您的应用程序没有对新创建的文件设置明确的安全权限,授予网络服务帐户删除文件夹的权限将解决您的直接问题。

此命令将完成工作:

icacls c:\ProgramData\MyApp /t /grant "NETWORK SERVICE":(OI)(CI)(IO)D

对您的其他用户服务帐户重复相同的操作。

于 2012-08-03T23:21:33.440 回答