“如何login:本地系统帐户”和“NT Authority \ System”有什么区别?

首先,我想澄清一下,我一直在浏览大量关于“本地系统”账户的问题,即使我对账户的性质有了启发,但他们似乎都没有解释我的情况。

我正在客户的Windows Server 2008上部署一项服务。 这台机器已经使用了多年的打印机信用会计,并有一个现有的会计制度。 我的服务只是与这个会计系统连接。

问题是,如果我安装我的服务,并且在services.msc中使用“以本地系统帐户login”的方式在许多其他系统上完成服务,则会收到与权限相关的问题。

首先我从cmd使用各种帐户“pipe理员”,“NT Authority \ Network Service”和“NT Authority \ System”运行它。 他们都没有造成任何问题。 最后一个特别奇怪。

当我进入services.msc并切换到“这个帐户”,input“nt authority \ system”,突然它完美的工作,它变得更奇怪。 当我将其更改回“本地系统帐户”时,问题再次出现。

应该指出的是,该机器是某种工作组的一部分,并且多个打印记账服务作为由我的客户创build的域的用户来运行。 我不知道更多关于他们的authentication设置,我真的认为我不必。

“如何login:本地系统帐户”和“NT Authority \ System”有什么区别?

这篇文章解释得很好

他们是两个不同的东西。 本地系统帐户应该包含用于NT Authority\System的令牌,所以这并不能解释您为什么会遇到问题,但帐户之间肯定存在差异。 它们不是对方的同义词。

这个警告可以解释你所看到的:

在LocalSystem帐户的上下文中运行的服务会inheritanceSCM的安全上下文。 用户SID是从SECURITY_LOCAL_SYSTEM_RID值创build的。 该帐户不与任何login的用户帐户相关联。 这有几个含义:

?registry项HKEY_CURRENT_USER与默认用户关联,而不是当前用户。 要访问另一个用户的configuration文件,模拟用户,然后访问HKEY_CURRENT_USER。

该服务可以打开registry项HKEY_LOCAL_MACHINE \ SECURITY。

•该服务将计算机的凭据提供给远程服务器。

•如果服务打开命令窗口并运行batch file,则用户可以按Ctrl + C来终止batch file,并使用LocalSystem权限访问命令窗口。