1、管理工具-Active Directory用户和计算机 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了。 方法三:使用脚本 提供了一个例子,根据自己的实际情况可以对下面的脚本进行修改。 jsiDomain= Wscript.Arguments.Item(0)'domain of computer account jsiComputer = Wscript.Arguments.Item(1).netbios ComputerName jsiUserName = Wscript.Arguments.Item(2)'UserName (in the domain) jsiPerm= Wscript.Arguments.Item(3)'access code 'bind to ComputerName set objTarget = GetObject("WinNT://" & jsiDomain & "/" & jsiComputer & ",computer") 'create a shell object for call to subinacl set objCMD = CreateObject("Wscript.Shell") 'get list of services objTarget.filter = Array("Service") For each Service in objTarget command = "subinacl /service " & Service.name & " /grant=" & jsiUserName & "=" & jsiPerm objCMD.Run command, 0 'report the services Wscript.Echo "User granted access to " & Service.name & " " next NOTE: This script does NOT perform any error checking.
2000下面的服务默认是Everyone完全控制的,这就造成了2000下面的安全隐患,记得某款清除日志的软件就是靠停掉IIS服务来达到删除日志记录的目的吧;另外如果服务器的服务不限制权限的话万一你的服务器有什么漏洞,
就算对方没有拿到管理员的权限…想必大家也都清楚意味着什么了吧。
方法一:使用组策略