我开发了一个 .NET Windows 服务(在 VS2010 中)需要:
- 访问本地网络机器上的共享文件夹(读/写)
- 写入注册表的 HKLM/SOFTWARE 部分
- 在本地文件系统的所有部分写入文件和创建文件夹(例如在 C: 的根目录中)
- 从网络下载文件(使用 http)
我的服务必须适用于从 Windows XP SP3 及更高版本的所有 Windows (PC) 操作系统。
问题:我应该为我的服务选择哪个服务帐户?
通常,我会使用“LocalService”或“NetworkService”,但它们本身都不能授予所有需要的权限。
我应该使用“LocalSystem”帐户吗?或者,我是否应该创建一个完全独立的帐户仅供我的服务使用(这应该在安装期间自动完成)?
现在我使用“NetworkService”帐户,并在安装过程中将其添加到 adimistrators 组,效果很好。但我认为这种方法破坏了有关受限服务帐户的整个想法,从而带来了安全风险 - 你不同意吗?
最佳答案
你不应该使用 LOCALSYSTEM
。这太强大了,所有最佳实践都告诉您不要使用它。
在我看来,作为安装的一部分,您应该创建具有适当权限的本地用户。对于服务器/数据库产品,这是一种相当普遍的做法。
关于windows - 哪个服务帐号合适?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8927163/