关于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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了