SQL内置系统账户:Local system/Network service/Local Service 区别
内置系统账户:Local system/Network service/Local Service 区别
参考文献:
http://www.cnblogs.com/xianspace/archive/2009/04/05/1429835.html
前言
今天在安装sqlserver2008 r2的时候,在Server Configuration阶段要求我设定sqlserver中各种服务的账户名称,如下图所示:
账户类型可以在后期修改,改的就是服务中的log on as里面的属性。
那么Local system/Network service/Local Service这三种账户有什么区别呢?
LocalSystem 账户
LocalSystem是预设的拥有本机所有权限的本地账户,这个账户跟通常的用户账户没有任何关联,也没有用户名和密码之类的凭证。这个服务账户可以打开注册表的HKEY_LOCAL_MACHINE\Security键,当LocalSystem访问网络资源时,它是作为计算机的域账户使用的。
举例来说,以LocalSystem账户运行的服务主要有:WindowsUpdate Client、 Clipbook、Com+、DHCP Client、Messenger Service、Task Scheduler、Server Service、Workstation Service,还有Windows Installer。
Network Service 账户
Network Service账户是预设的拥有本机部分权限的本地账户,它能够以计算机的名义访问网络资源。但是他没有Local System 那么多的权限,以这个账户运行的服务会根据实际环境把访问凭据提交给远程的计算机。Network Service账户通常可以访问Network Service、Everyone组,还有认证用户有权限访问的资源。
举例来说,以Network Service账户运行的服务主要有:Distributed Transaction Coordinator、DNS Client、Performance Logs and Alerts,还有RPC Locator。
Local Service 账户
Local Service账户是预设的拥有最小权限的本地账户,并在网络凭证中具有匿名的身份。Local Service账户通常可以访问Local Service、Everyone组还有认证用户有权限访问的资源。
举例来说,以Local Service账户运行的服务主要有:Alerter、Remote Registry、Smart Card、SSDP,还有WebClient。
简单说明:
Local system :本地系统用户, 个人电脑通常选择这个用户
Network service :网络服务用户, 通常需要远程连接的都使用这个
Local Service :本地服务
另外还有一个要求输入用户名密码的那个用户是域用户,这个是做集群的时候选择的登陆方式
PS:2012-7-10
今天在安装APEXSQL的时候,能够成功安装,但是不能连接数据库,每次都让我创建一个administration的账户,但是我创建了,加入到了administrators组还是不能连接,最后在SQL Server的properties中,将账户有network service 改为local system就可以连接了。
之所以要使用local system是因为apexsql里面要用到一些系统底层的东西,所有要求最高权限。
PS:2012-8-24
如果我们打开任务管理器,在user name那一列我们能够看到很多账户名,常见的有以下几类
1.) SYSTEM
2.) NETWORK SERVICE
3.) Domain Users
4.) LOCAL SERVICE
那么这些到底都有什么区别呢,这些在下面的这篇文章有种介绍。
http://www.vistaheads.com/forums/microsoft-public-windows-vista-general/86838-what-system-network-service-account.html
那么应该使用什么账户来启动sql server呢?下面这篇文章给出了详细的介绍。
http://social.msdn.microsoft.com/Forums/en/sqlsecurity/thread/31d57870-1faa-4e14-8527-ce77b1ff40e4
我来总结一下上面这篇文章的中心思想。
- 不用使用bulit-in的三张账号来启动sql server。
- local system的权限太高了,如果sql server 被黑客入侵,创建一个thread,那么这个thread就具有和sqlservr.exe这个进程相同的权限,这个thread可以在本机上做任何操作。还有一个弊端就是local system只有在本机上有很高的权限,但是出了本机,就没有什么权限了,比如要做DB Mirroring的时候,使用local system就不行。
- network service相对于local system在本机上权限少了一点,但是他可以访问网络资源,比如可以做DB Mirroring,但是有一个不好就是他的权限还是弱了一点。network service使用的是computer account。
- 至于local service,他是权限最小的一个built-in账户,只能用于启动本地服务,sql browser建议使用local service。这在在msdn上也有提到,给sqlbrowser.exe一个较低权限的账户。
- sql server启动账户的最佳事件就是使用authenticated user。如果机器在domain里面,那么使用domain user,如果没有在domain里面就使用local user。不乱是domain user还是local user都需要给予特定的权限,权限不要太高。
参考:SQL Server 2008中的Service SID
在我们安装完sql server 2008和2012以后,我们会发现在security下面的login中有类似NT Service\MSSQL$SQL2012、NT SERVICE\ReportServer$SQL2012和NT SERVICE\SQLAgent$SQL2012这样子的账户。这些其实都是Service SID所对应的名字。
Service SID的引入,是为了解决多个Service可能同用一个service帐号启动所带来的安全隐患。如IIS 使用Network Service帐号,可能其他服务也使用Network Service帐号。为了使得IIS能够连接到SQL Server, 我们可能会把Network Service作为SQL Server的login, 但是这是不安全的。因为其他服务如果以Network Service做为启动帐号的话,也能访问SQL Server。为了解决这个问题,在SQL Server 2008/Windows Server 2008及以后,我们有了SID这个概念。这样不同的服务,即使服务启动帐号是相同的,它们的SID也是不同的。
对于NT Service\MSSQL$SQL2012、NT SERVICE\ReportServer$SQL2012和NT SERVICE\SQLAgent$SQL2012这些login,并不是Windows Users或Group的名字, 而是SID的名字。其相对应的SID值,我们可以用命令 sc showsid serviceName所得到,如下图所示:
SQL内置系统账户:Local system/Network service/Local Service 区别相关推荐
- Windows内置系统账户Local system/Network service/Local Service
内置系统账户:Local system/Network service/Local Service 区别 [ LocalSystem 账户] LocalSystem是预设的拥有本机所有权限的本地 ...
- 内置系统账户:Local system/Network service/Local Service 区别
参考文献: http://www.cnblogs.com/xianspace/archive/2009/04/05/1429835.html 前言 今天在安装sqlserver2008 r2的时候,在 ...
- 内置系统账户:Local system/Network service/Local Service 区别
LocalSystem 账户 LocalSystem是预设的拥有本机所有权限的本地账户,这个账户跟通常的用户账户没有任何关联,也没有用户名和密码之类的凭证.这个服务账户可以打开注册表的HKEY_L ...
- Windows内置系统账户:Local system/Network service/Local Service 区别
LocalSystem 账户 LocalSystem是预设的拥有本机所有权限的本地账户,这个账户跟通常的用户账户没有任何关联,也没有用户名和密码之类的凭证.这个服务账户可以打开注册表的HKEY_LOC ...
- SQL2008系统账户:Local system/Network service/Local Service 区别
内置系统账户:Local system/Network service/Local Service 区别 LocalSystem 账户 LocalSystem是预设的拥有本机所有权限的本地账户,这 ...
- 《重装系统后弹出对话框(无法打开这个应用(无法使用内置管理员账户打开xx,请使用其他账户登录,……))》
原因: 使用了内置管理员账户了 方法: 1.按win+R,输入:secpol.msc,回车,来到"本地安全策略编辑器" 2.然后,依次打开:安全设置>本地策略>安全选项 ...
- Local System/Network Service/Local Service权限介绍
报错:错误代码 0x800700b7 配置错误定义了重复的"system.web.extensions/scripting/scriptResourceHandler"节 这个问题 ...
- win10无法使用内置管理员账户打开应用怎么办
win10无法使用内置管理员账户打开应用怎么办 听语音 Win10管理员账户Administrator默认关闭和隐藏,就是防止这个高权限账户被"滥用"影响系统安全.不过我们有时候也 ...
- Win10 权限问题:用于内置管理员账户的管理员批准模式
需求背景 为了安全考虑微酷将 Win10 系统电脑各盘符安全设置为只保留Administrators和SYSTEM两个用户组可完全访问,然后平时用电脑都是用内置管理员administrator来使用, ...
最新文章
- Python web 开发:部署一个3行代码的wsgi app
- servlet生命周期
- HDU 1712 裸分组dp
- [转]Intellij idea创建javaWeb以及Servlet简单实现
- 飞了,飞了,真的疯了
- 第五章:配置使用FastJson返回Json视图
- mysql: union / union all / 自定义函数用法详解
- 一步步编写操作系统 54 CPL和DPL入门1
- UNIX(多线程):24---哪些STL容器是线程安全的
- hbase major_compact 文件会变小吗_图解式学习:可能是最易懂的Hbase架构原理解析(二)...
- 使用Jenkins的任务自动跑脚本后发现,服务没有起来
- 一文了解预训练语言模型!
- HTML5 — 知识篇总结《II》【HTML5大力支持的语义化思想与规范】
- mysql中的sql在添加的操作中,id或者是某些字段,需要它添加自带的默认值,或者我们并不想对id或者某个字段赋值
- linux c语言ide,linux下用过的c++IDE
- 可视化网络监控软件OpManager获选″IT运维产品之星”
- 中国互联网十大骨干网有哪些?了解互联网的真实网络结构
- 《python深度学习》笔记(八):回归问题
- PDP激活请求,创建请求,删除请求
- tradeblazer mysql_交易开拓者(TradeBlazer)上手指南