答案:
2000下面的服务默认是Everyone完全控制的,这就造成了2000下面的安全隐患,记得某款清除日志的软件就是靠停掉IIS服务来达到删除日志记录的目的吧;另外如果服务器的服务不限制权限的话万一你的服务器有什么漏洞,就算对方没有拿到管理员的权限…想必大家也都清楚意味着什么了吧。方法一:使用组策略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键,重新启动。
方法二:使用SubinaclSubinacl为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 accountjsiComputer = 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.
上一个:寻找端口与进程的关联
下一个:花生壳个人服务器