2000下面的服务默认是Everyone完全控制的,这就造成了2000下面的安全隐患,记得某款清除日志的软件就是靠停掉IIS服务来达到删除日志记录的目的吧;另外如果服务器的服务不限制权限的话万一你的服务器有什么漏洞,就算对方没有拿到管理员的权限…想必大家也都清楚意味着什么了吧,
怎样限制服务的权限
。方法一:使用组策略
1、管理工具-ActiveDirectory用户和计算机
2、右键点击域-创建新的组织单位
3、右键点击新建的组织单位选择属性
4、选择组策略
5、创建新的组策略,进行编辑
6、计算机配置-Windows设置-安全设置-系统服务
7、双击你需要设置权限的服务
8、定义这个策略是个设置-编辑安全设置(默认是Everyone完全控制)
9、删除Everyone组,添加System组和其他有访问权限的用户。
10、分配给用户和组读取、启动、停止和暂停的权限。
11、把服务的启动模式改为自动。
12、把你所需要限制服务的计算机添加到你所创建的组织单位里面,完成!
注:如果发现设置错误的话,可以通过Regedt32编辑
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\\Security,删除Security键,重新启动。
方法二:使用Subinacl
Subinacl为2000ResourceKit里面提供的工具,具体语法如下。
SUBINACL/SERVICE\\ComputerName\ServiceName/GRANT=[DomainName\]UserName[=Access]
这其中:
ComputerName-机器的NetBIOS名,省略的话代表本地
ServiceName-服务的名称
DomainName-域名,省略的话搜索本地的用户
UserName-要被赋予权限的用户名称
Access-F:完全控制(缺省)
R:读
W:写
X:执行
L:读取控制
Q:查询服务的设置
S:查询服务的状态
E:列出所依赖的服务
C:改变服务的设置
T:启动服务
O:停止服务
P:暂停/开始服务
I:询问服务
U:用户用命令行方式定义服务控制
如果本机的话就容易多了,比如想限定本机的DNS服务的权限是Administrator完全控制的话执行
subinacl/service\dns/grant=administrator=f就OK了,
电脑资料
《怎样限制服务的权限》(https://www.unjs.com)。方法三:使用脚本
提供了一个例子,根据自己的实际情况可以对下面的脚本进行修改。
jsiDomain=Wscript.Arguments.Item(0)\'domainofcomputeraccount
jsiComputer=Wscript.Arguments.Item(1)\'netbiosComputerName
jsiUserName=Wscript.Arguments.Item(2)\'UserName(inthedomain)
jsiPerm=Wscript.Arguments.Item(3)\'accesscode
\'bindtoComputerName
setobjTarget=GetObject("WinNT://"jsiDomain"/"jsiComputer",computer")
\'createashellobjectforcalltosubinacl
setobjCMD=CreateObject("Wscript.Shell")
\'getlistofservices
objTarget.filter=Array("Service")
ForeachServiceinobjTarget
command="subinacl/service"Service.name"/grant="jsiUserName"="jsiPerm
objCMD.Runcommand,0
\'reporttheservices
Wscript.Echo"Usergrantedaccessto"Service.name""
next
NOTE:ThisscriptdoesNOTperformanyerrorchecking.