关于Local System/Local Service/Network Service账户

  部署或安装系统服务时需要指定服务运行的账户。一般地,可选择Local System、Local Service或Network Service账户。

  Local System/Local Service/Network Service账户的区别在于每个账户的权限(Rights)不同。在Windows 2003和Windows XP之前,Service几乎都是运行在Local System账户下;从Windows 2003和WindowsXP开始,系统增加了Local Service和 Network Service账户。为什么要增加这两个新的内置账户?如何为Service选择账户?

在回答这两个问题之前,先说明两个基本概念:

  1)一个服务(Service)所具有的权限取决于为该服务制定账户的权限;

  2)某些服务允许与客户端(Client)进行交互。例如 SQL Server 服务能够接收并执行客户端提供的命令,特别地,用户能够利用SQL Server中存储过程 xp_cmdshell 执行用户命令。

明白上面两个基本概念后,如果将一个服务指定咋Local System账户下运行,你很容易推测出这做的后果!因为Local System内置账户(正式的账户名称是NT AUTHORITY\SYSTEM )是一个具有非常高特权的账户。一旦恶意用户利用运行在Local System下的可交换服务对计算机发动攻击,那将是十分危险的。与Local System账户相比,Local Service/Network Service账户所具有的权限要少很多。在Windows 2003或XP设置这两个账户主要的目的就是为了规避在Local System下运行服务所带来的风险。具体例子,请参考http://windowsitpro.com/systems-management/running-services-under-system-or-administrator给出的描述

微软在Windows 2003或XP中增加的Local Service 和 Network Service 这两个账户采用了最小权限(Minimal Authority)原则。至于Local Service和Network Service之间有差异,可以参考 Difference between local service account and network service account in windows server with respect to SQL Server 2005

 

posted @   QiaoZhi  阅读(1221)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示