我写了一个Windows服务,该服务产生了一个单独的过程。此过程创建一个com对象。如果服务在"本地系统"帐户下运行,则所有内容都可以正常运行,但是如果该服务在"网络服务"帐户下运行,则外部进程启动,但无法创建COM对象。从com对象创建返回的错误不是标准com错误(我认为它特定于正在创建的com对象)。

那么,如何确定两个帐户"本地系统"和"网络服务"的不同?这些内置的帐户似乎很神秘,似乎没有人对它们了解很多。

答案

由于标准服务帐户的功能有太多的困惑,我将尝试快速失败。

首先是实际帐户:

  • LocalService帐户(首选)

    一个有限的服务帐户,与网络服务非常相似,旨在运行标准的最小私人服务。但是,与网络服务不同,它将网络访问匿名的用户。

    • 姓名:NT AUTHORITY\LocalService
    • 该帐户没有密码(您提供的任何密码信息被忽略)
    • HKCU代表LocalService用户帐号
    • 最小本地计算机上的特权
    • 礼物匿名的网络上的凭据
    • SID:S-1-5-19
    • 有自己的个人资料HKEY_USERS 注册表键(HKEY_USERS\S-1-5-19
  • NetworkService帐户

    有限的服务帐户,旨在运行标准特权服务。该帐户比本地系统(甚至是管理员)更有限,但仍然有权作为机器访问网络(请参阅上面的警告)。

    • NT AUTHORITY\NetworkService
    • 该帐户没有密码(您提供的任何密码信息被忽略)
    • HKCU代表NetworkService用户帐号
    • 最小本地计算机上的特权
    • 呈现计算机的凭据(例如MANGO$)到远程服务器
    • SID:S-1-5-20
    • 有自己的个人资料HKEY_USERS 注册表键(HKEY_USERS\S-1-5-20
    • 如果尝试使用它安排任务,请输入NETWORK SERVICE进入选择用户或组对话
  • LocalSystem帐户 (危险,不要使用!)

    完全值得信赖的帐户,比管理员帐户更重要。单个框上没有任何内容,该帐户无法执行任何操作,并且有权作为机器访问网络(这需要Active Directory并授予机器帐户权限到某些内容)

    • 姓名:.\LocalSystem(也可以使用LocalSystem或者ComputerName\LocalSystem
    • 该帐户没有密码(您提供的任何密码信息被忽略)
    • SID:S-1-5-18
    • 没有自己的任何个人资料(HKCU代表default用户)
    • 广泛的本地计算机上的特权
    • 呈现计算机的凭据(例如MANGO$)到远程服务器

在谈论访问网络时,这仅是指SPNEGO(谈判),NTLM和Kerberos,而不是其他任何身份验证机制。例如,处理运行为LocalService仍然可以访问互联网。

作为标准的框帐户运行的一般问题是,如果您修改了任何默认权限,则可以将所有运行的内容设置如该帐户所能完成。因此,如果将DBO授予数据库,您的服务不仅可以作为本地服务或网络服务访问该数据库,而且可以通过这些帐户也可以运行的所有其他运行。如果每个开发人员都这样做,那么计算机将拥有一个实际上可以执行任何操作的服务帐户(更具体地说,是该帐户授予的所有其他其他特权的超集)。

从安全角度来看,总是可以作为您自己的服务帐户运行,这始终是您需要执行服务所需的权限而无所作为的权限。但是,这种方法的成本是设置您的服务帐户并管理密码。这是每个应用程序都需要管理的平衡行为。

在您的具体情况下,您可能看到的问题是DCOM或COM+激活仅限于给定的一组帐户。在Windows XP SP2中,Windows Server 2003及更高版本的激活权限受到了显着限制。您应该使用组件服务MMC Snapin检查您的特定COM对象并查看激活权限。如果您没有作为机器帐户访问网络上的任何内容,则应认真考虑使用Local Service(不是本地系统,基本上是操作系统)。


在Windows Server 2003中cannot执行计划任务作为

  • NT_AUTHORITY\LocalService(又称本地服务帐户)或
  • NT AUTHORITY\NetworkService(又称网络服务帐户)。

仅添加了该功能调度程序2.0,仅存在于Windows Vista/Windows Server 2008和更新中。

运行的服务NetworkService在网络上呈现机器凭据。这意味着如果您的计算机被称为mango,,,,它将以机器帐户的形式存在 MANGO$

enter image description here

来自: stackoverflow.com