无损迁移IIS数据方法(含匿名帐号,ntfs,acl,用户同步)(2)
作者:debiangrub 来源:经典论坛 发布时间:2010-01-30 13:45:00
三.目标服务器IIS预配置
复制前面生成的userlist.csv和批处理文件放同个目录
md d:\freehost
for /f "tokens=2* delims==" %%b in ('wmic group where name^="IIS_WPG" get SID /value^|findstr /i "sid="') do (set WPG=%%b)
echo y|cacls.exe d:\freehost /c /s:D:(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;FR;;;%WPG%)
net localgroup freehost /add
for /f "delims=, tokens=1,2" %%i in (userlist.CSV) do md d:\freehost\%%i\web
for /f "delims=, tokens=1,2" %%i in (userlist.CSV) do md d:\freehost\%%i\db
for /f "delims=, tokens=1,2" %%i in (userlist.CSV) do md d:\freehost\%%i\log
for /f "delims=, tokens=1,2" %%i in (userlist.CSV) do net user %%i %%j /add /expires:never /passwordchg:no /times:all
for /f "delims=, tokens=1,2" %%i in (userlist.CSV) do net localgroup freehost /add %%i
for /f "delims=, tokens=1,2" %%i in (userlist.CSV) do net localgroup users /delete %%i
for /f "delims=, tokens=1,2" %%i in (userlist.CSV) do setacl.bat %%i
1.上面的命令会自动预建立d:\freehost为网站主目录.并只给iis_wpg组只读权限
(用于运行asp.net,php一类的程序.如果只运行asp.可以省去.)
2.增加freehost用户组,把userlist.csv中的用户建立并加入freehost组.这样做是便于管理.对freehost组进行组策略安全限制即可.
3.预建立用户文件星外的目录结构是
d:\freehost
d:\freehost\web
d:\freehost\log
d:\freehost\db
如果是其他的虚拟主机软件按照规则修改上面的路径即可.
prima是域名点号换下划线生成比如www.baidu.com的文件就是baidu_com
d:\baidu_com
d:\baidu_com\htdoc
d:\baidu_com\database
d:\baidu_com\weblog
文件名不一样,稍作改动即可.
最后一行,是为各目录设置权限
for /f "delims=, tokens=1,2" %%i in (userlist.CSV) do setacl.bat %%i内容如下
for /f "tokens=2* delims==" %%a in ('wmic useraccount where name^="%1" get SID /value^|findstr /i "sid="') do (set uSID=%%a)
for /f "tokens=2* delims==" %%b in ('wmic group where name^="IIS_WPG" get SID /value^|findstr /i "sid="') do (set uWPG=%%b)
echo y|cacls.exe d:\freehost\%1 /c /s:D:AI(A;;FR;;;%uSID%)(A;OICIIO;GR;;;%uSID%)(A;OICIID;FA;;;BA)(A;OICIID;FR;;;%uWPG%)(A;OICIID;FA;;;SY)
echo y|cacls.exe d:\freehost\%1\db /c /t /s:D:AI(D;;SD;;;%uSID%)(A;;0x17019f;;;%uSID%)(A;OICIIO;SDWDGWGR;;;%uSID%)(A;ID;FR;;;%uSID%)(A;OICIIOID;GR;;;%uSID%)(A;OICIID;FA;;;BA)(A;OICIID;FR;;;%uWPG%)(A;OICIID;FA;;;SY)
echo y|cacls.exe d:\freehost\%1\log /c /t /s:D:AI(A;ID;FR;;;%uSID%)(A;OICIIOID;GR;;;%uSID%)(A;OICIID;FA;;;BA)(A;OICIID;FR;;;%uWPG%)(A;OICIID;FA;;;SY)
echo y|cacls.exe d:\freehost\%1\web /c /t /s:D:AI(D;;SD;;;%uSID%)(A;;0x17019f;;;%uSID%)(A;OICIIO;SDWDGWGR;;;%uSID%)(A;ID;FR;;;%uSID%)(A;OICIIOID;GR;;;%uSID%)(A;OICIID;FA;;;BA)(A;OICIID;FR;;;%uWPG%)(A;OICIID;FA;;;SY)
操作的内容是将外部变量用户名传入使用wmic管理命令查出用户名在本机的sid值.因为sid是唯一的(当然用黑客手段也可以让他不唯一,微软bug),即使是两台服务器上相同的用户名,或者在同一台服务器上建立一个用户名删除再建立相同名称的sid也不一样.所以不论重装系统后还是换过服务器都需要用上面批处理重设ntfs权限.
使用的ntfs权限是ace,sddl格式.
因为权限项较多,说起来复杂就不一一说明.大约意思就是将各个用户主目录隔离开,对web目录允许脚本执行,log,db仅能html.防止webshell跨站.
首先到目标服务器上还原iis配置.自然目标服务器上的iis要安装好,如果原服务器有iisftp也需要把ftp安装好
copy /y iismove.SC0 C:\WINDOWS\system32\inetsrv\MetaBack\iismove.SC0
copy /y iismove.MD0 C:\WINDOWS\system32\inetsrv\MetaBack\iismove.MD0
del iismove.SC0
del iismove.MD0
iisback.vbs /restore /b iismove /e iismove /v 0
进行IIS还原.
注意事项:如果有asp.net,isapi_rewrite重写组件,华盾等基于iisfilter的组件,也须要先安装上.不然会因为找不到这些过滤器,会在事件管理器找到大量的错误iis始终是server unavailable.
做到这里,目标IIS差不多已经恢复了,打开html已经正常.
但是运行asp asp.net 一类的程序会被告知401 acl拒绝.因为iis里面的密码没有被同步.
四.最后来做iis匿名访问密码同步.
先导出iis中站点的节点ID编号对照表.
更新W3ID批量表.bat
del c:\sitelisttemp.txt
iisweb/query>c:\sitelisttemp.txt
rem 更新W3ID批量表.bat
for /f "delims=, tokens=1,2" %%i in (userlist.CSV) do chageuserpass.bat %%i %%j
chageuserpass.bat
net user %1 %2
type c:\sitelisttemp.txt|grep "^%1."|cut -d"(" -f2|cut -d")" -f1>c:\W3IDtemp.txt
set /p W3ID=<c:\W3IDtemp.txt
adsutil.vbs set %W3ID%/AnonymousUserName %1
adsutil.vbs set %W3ID%/AnonymousUserPass %2
因为windows下批处理处理字符的功能太弱要嵌套太多for命令.怕大家看得头晕.这里借用了linux两个命令.
grep和cut.去网上找到http://unxutils.sourceforge.net/UnxUtils.zip解压把里面这两个文件复制c:\windows\system32中即可.
假如你实在找不到这两个文件.用windows下for批处理也是可以的.只是略嫌麻烦.
开始运行iisreset /timout:0
对iis进行重启,然后开始
大功告成了.http://www.reynaldliu.net


猜你喜欢
- 你可能有时需要在 Linux 上创建或者删除符号链接。如果有,你知道该怎样做吗?之前你做过吗?你踩坑没有?如果你踩过坑,那没什么问题。如果还
- Linux的广泛应用和快速发展得益于互联网的飞速发展。对于Internet上应用广泛的Web服务来说,Linux表现出色。很难说清目前Int
- 病毒式营销目的是为了被营销对象在公众环境中有效进行传播,以帮助你的生意或者你所提供的服务更好地开展下去。病毒式营销分为两种:一种是针对传统领
- 谷歌主要的收入来自搜索广告,在图片显示广告方面还是一片“处女地”。花旗集团一分析师预计说,明年,包括Youtube在内的网络资产可以为谷歌贡
- 北京时间10月10日消息,据国外媒体报道,谷歌正在推出应用于Android手机的快速搜索栏(Quick Search Box,简称&
- 方法1、因为没有像PHP自带的ReWrite模块,所以需要下载IIS Rewrite模块:http://www.isapirewrite.c
- Windows Server 2008正在逐渐向我们走来,随着最近其第一个RC版的问世,意味着它真正发布的时刻已经不会让我们等待太长的时间。
- 我所在的城市:吉林市,很多外地的人都不知道,是中国唯一一个与省重名的城市,人口200w,不过网络不发达,地方论坛很少,人气更差了。也许正因为
- 这段时间发现学生做网站的越来越多,但大多数都没有做成。这里给出几点建议,期望对你有所帮助。学生建站,我觉得应该注意以下四点:一、找到自己的方
- 开设个人博客的朋友使用WordPress不在少数,那么也难免不了更换空间和域名的情况,由于笔者亲历了一次更换空间和域名的情况,将博客从AAA
- 在建设本网站的时候,发现新建了很多的网页,突然发现,每个文件都需要进行修改一样的内容,一个一个打开很是麻烦,所以,总结了一下如何快速修改一个
- 日前,国内著名的ASP开源博客程序PJBLOG程序推出了其诞生四年来的第三个版本PJBLOG3,随着这个V3里程碑式版本的推出,PJBLOG
- 前言:从事SEO工作也有两年多时间了,为很多网站出过SEO解决方案,因为喜欢SEOWHY的环境,这次申请达人,决定拿出点实在的东西和大家一起
- 我觉得CF作为一个快速开发开发工具来说可以用最简洁的代码来实现各种效果.即使开发复杂的网站或电子商务之类的,也是非常灵活.此外用的人少也是一
- 10月26日消息,网易企业邮箱近日悄然更新了客户端收信图标提示、通讯录导入优化等多项新功能。网易企业邮箱自问世以来,秉承网易邮箱长久以来的以
- 12月11日消息,据国外媒体报道,据互联网安全和监视公司ScanSaf说,从11月末开始出现的一种新的和非常复杂的SQL注入攻击已经感染了1
- 老网民们大概都记得,刚开始上网的时候,是不存在验证码(capcha)这么一种东西的。这造成的结果是,垃圾评论和垃圾邮件可以轻松通过任何一个网
- 1.官方简介grep是linux的常用命令,用于对文件和文本执行重复搜索任务的Unix工具,可以通过grep命令指定特定搜索条件来搜索文件及
- 除了可以在html邮件中直接嵌入脚本程序外,攻击者还可以设计一些html代码,在用户打开html邮件时,不知不觉引入另一个html文件,而此
- 1 创建用户且指定该用户的根路径和密码useradd -d /home/mydir -m username这种方式创建的用户可以使用ssh登