由于标准服务帐户的功能存在很多混淆,我将尝试快速介绍一下。
首先是实际账户:
LocalService 帐户(首选)与网络服务非常相似的受限服务帐户,旨在运行标准的最低特权服务。但是,与网络服务不同,它以匿名用户身份访问网络。名称:NT AUTHORITY\LocalService 该帐户没有密码(您提供的任何密码信息都将被忽略) HKCU 表示 LocalService 用户帐户在本地计算机上具有最低权限 在网络上提供匿名凭据 SID:S-1-5-19 有其在 HKEY_USERS 注册表项下拥有自己的配置文件 (HKEY_USERS\S-1-5-19)
名称: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
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 代表默认用户)在本地计算机上具有广泛的权限远程服务器的计算机凭据(例如 MANGO$)
名称:.\LocalSystem(也可以使用 LocalSystem 或 ComputerName\LocalSystem)
该帐户没有密码(您提供的任何密码信息都会被忽略)
SID:S-1-5-18
没有自己的个人资料(HKCU 代表默认用户)
在本地计算机上拥有广泛的权限
将计算机的凭据(例如 MANGO$)提供给远程服务器
上面谈到访问网络时,仅指SPNEGO(协商)、NTLM 和 Kerberos,而不是任何其他身份验证机制。例如,作为 LocalService
运行的处理仍然可以访问 Internet。
作为标准开箱即用帐户运行的一般问题是,如果您修改任何默认权限,您正在扩展以该帐户运行的所有内容的集合。因此,如果您将 DBO 授予数据库,则不仅您作为本地服务或网络服务运行的服务可以访问该数据库,而且以这些帐户运行的所有其他内容也可以访问。如果每个开发人员都这样做,计算机将拥有一个服务帐户,该服务帐户几乎可以执行任何操作(更具体地说,是授予该帐户的所有不同附加权限的超集)。
从安全的角度来看,始终最好作为您自己的服务帐户运行,该服务帐户具有执行您的服务所需的权限而不是其他任何事情。但是,这种方法的成本是设置您的服务帐户和管理密码。这是每个应用程序需要管理的平衡行为。
在您的具体情况下,您可能看到的问题是 DCOM 或 COM+ 激活仅限于给定的一组帐户。在 Windows XP SP2、Windows Server 2003 及更高版本中,激活权限受到很大限制。您应该使用组件服务 MMC 管理单元来检查您的特定 COM 对象并查看激活权限。如果您没有以计算机帐户身份访问网络上的任何内容,您应该认真考虑使用本地服务(不是本地系统,它基本上是操作系统)。
在 Windows Server 2003 you cannot run a scheduled task 中作为
NT_AUTHORITY\LocalService(又名本地服务帐户),或
NT AUTHORITY\NetworkService(又名网络服务帐户)。
该功能仅通过任务 Scheduler 2.0 添加,该任务仅存在于 Windows Vista/Windows Server 2008 和更高版本中。
作为 NetworkService
运行的服务在网络上提供机器凭据。这意味着如果您的计算机被称为 mango
,it would present as the machine account MANGO$
:
https://i.stack.imgur.com/exvfr.png