事实证明初始安装MSSQL时选择低权限用户比事后修改方便的多

初始安装MSSQL SERVER前,新建一个属于users组的用户,我这里名为SQLADMIN,建议密码尽量设置的复杂一点。
然后在安装mssql进行到服务帐户这步时候,选择启动帐户用户名为sqladmin即可
如图1所示:




安装完毕,我先打上sp4补丁,在“服务管理器”中启动SQL server,完全没有问题
如图2所示:


原因是安装时候选择指定的帐户为服务启动用户,mssql为自动为以下目录添加sqladmin的完全控制权限,我的sql程序文件在C盘,数据库文件放D盘:
引用内容 引用内容
C:\Program Files\Microsoft SQL Server\MSSQL
C:\Program Files\Microsoft SQL Server\MSSQL\Binn
C:\Program Files\Microsoft SQL Server\MSSQL\Install
C:\Program Files\Microsoft SQL Server\MSSQL\Upgrade
D:\Program Files\Microsoft SQL Server\MSSQL
D:\Program Files\Microsoft SQL Server\MSSQL\BACKUP
D:\Program Files\Microsoft SQL Server\MSSQL\Data
D:\Program Files\Microsoft SQL Server\MSSQL\FTDATA
D:\Program Files\Microsoft SQL Server\MSSQL\JOBS
D:\Program Files\Microsoft SQL Server\MSSQL\LOG
D:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA


以下注册表路径会被添加sqladmin的完全控制权限:
引用内容 引用内容
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Replication
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Setup
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Tracking


SQLAGENT服务启动也完全没有问题

PS:使用低权限用户启动SQL SERVER对于防止通过web sql注入和sql扩展提权具有重要意义,之所以建议使用users组用户启动,因为有可能目录和注册表还是需要有users组权限读取

欢迎大家就此问题和我共同交流探讨,QQ:12550205,MSN :anyliz@msn.com


[本日志由 anyliz 于 2008-07-22 04:35 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 2 | 引用: 0 | 查看次数: -
回复回复anyliz[2008-05-27 02:14 PM | del]
你这种情况只能手工修改权限啦,很多地方的权限要改,如果发现自己修改不行可以用跟踪工具分析下
回复回复羽山[2008-05-15 04:07 AM | del]
兄弟,我按你说的办法安装了
不行啊
安装完成后,mssql默认还是用本地账户启动的,而非 sqladmin
通过你另一篇文章给相关的目录和注册表加权限,也还是不行。

我在安装的时候和你的一个区别就是,在填写帐号的时候,我没有填写域(- -! 因为不知道怎么填)
我的QQ 850073
我的服务器因为sql的问题被入侵了,很烦恼
希望能得到你的指教,非常感谢
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.