当前位置:  开发笔记 > 编程语言 > 正文

"本地系统"帐户与"网络服务"帐户之间的区别是什么?

如何解决《"本地系统"帐户与"网络服务"帐户之间的区别是什么?》经验,为你挑选了1个好方法。

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

那么,我如何确定"本地系统"和"网络服务"这两个帐户的区别?这些内置帐户看起来非常神秘,似乎没有人知道它们.



1> Peter Oehler..:

由于标准服务帐户的功能存在很多混淆,我会尝试快速运行.

首先是实际账户:

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也可以使用LocalSystemComputerName\LocalSystem)

该帐户没有密码(您提供的任何密码信息都会被忽略)

SID:S-1-5-18

没有自己的任何个人资料(HKCU代表默认用户)

在本地计算机上拥有广泛的权限

将计算机的凭据(例如MANGO$)提供给远程服务器

 

在谈到访问网络时,这仅涉及SPNEGO(协商),NTLM和Kerberos,而不涉及任何其他身份验证机制.例如,正在运行的处理LocalService仍然可以访问互联网.

作为标准开箱即用帐户运行的一般问题是,如果您修改任何默认权限,那么您正在扩展所有以该帐户运行的所有内容.因此,如果您将DBO授予数据库,则作为本地服务或网络服务运行的服务不仅可以访问该数据库,还可以访问作为这些帐户运行的所有其他服务.如果每个开发人员都这样做,那么计算机将拥有一个服务帐户,该帐户具有执行任何操作的权限(更具体地说,是授予该帐户的所有不同附加权限的超集).

从安全角度来看,始终最好以您自己的服务帐户身份运行,该帐户具有您执行服务所需的权限,而不是其他任何权限.但是,此方法的成本是设置您的服务帐户和管理密码.这是每个应用程序需要管理的平衡行为.

在您的特定情况下,您可能看到的问题是DCOM或COM +激活仅限于给定的一组帐户.在Windows XP SP2,Windows Server 2003及更高版本中,激活权限受到严重限制.您应该使用组件服务MMC管理单元检查您的特定COM对象并查看激活权限.如果您不是作为计算机帐户访问网络上的任何内容,则应认真考虑使用本地服务(而非本地系统,基本上是操作系统).


在Windows Server 2003中,你无法运行计划任务为

NT_AUTHORITY\LocalService (也称为本地服务帐户),或

NT AUTHORITY\NetworkService (又名网络服务帐户).

该功能仅在Task Scheduler 2.0中添加,该程序仅存在于Windows Vista/Windows Server 2008及更高版本中.

运行的服务NetworkService在网络上显示计算机凭据.这意味着如果您的计算机被调用mango,它将显示为计算机帐户 MANGO$:

在此输入图像描述


请注意,"匿名"用户不仅是"经过身份验证的用户"的成员,而且不是Windows上"所有人"的成员.在Windows网络上,"匿名"只能访问已明确授予"匿名"的资源 - 默认情况下,没有任何内容.
我认为[托管服务帐户](http://technet.microsoft.com/en-us/library/dd548356%28v=ws.10%29.aspx)消除了设置帐户和管理帐户的一些麻烦密码(或者更确切地说是将其传递给域管理员或委托.)
推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有