windows - 哪个服务帐号合适?

标签 windows security service privileges

我开发了一个 .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/

相关文章:

iOS:在单元测试中创建加密 key 时出错

c# - 如何发现 C# 中的 appsettings 发生了变化?

windows - 运行对话框执行 powershell 命令

c++ - QMediaPlayer 在 QtCreator 外部启动时无法在 Windows 上开始播放

php - 什么是好的和安全的 session 名称?

java - Android 服务 - 重新绑定(bind)时 Intent 不会更新

java - 如何使用 putExtra() 传递具有不同值的相同数据

windows - Electron 创建前检查窗口是否已经打开和关闭

c - 如何使 Gtk 程序可移植

security - 来自不安全 CDN 的 JS/CSS 行为