代码改变世界

IIS服务无法启动的小实验之MachineKeys文件夹

2012-03-01 21:54  slmk  阅读(1919)  评论(0编辑  收藏  举报

实验环境:

windows server 2003 sp2 + IIS6.0 除了2003自动的1.1框架,没有安装任何.net框架。系统很纯净,因为是在虚拟机中做的实验。

实验步骤:

  1. 观察安装完IIS之后的 ”C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys“ 文件夹:

iis安装之前是什么样忘了看了,失误:)

  2. 删除以c2319开头的文件,记得要先备份一下,因为下面会发生让网管们抓狂的事情。

  3. 停止服务IIS Admin Service ,再启动该服务,会发现IIS启动不了了。

错误代码:-2146893818。如果google一下,根本找不到解决方法,无非是让你恢复"C:\WINDOWS\system32\inetsrv\History"文件夹下的MetaBase文件。

  4. 再去查看文件夹MachineKeys时,你会发现系统又重新创建了一个相同文件名的“c2319c42033a5ca7f44e731bfd3fa2b5_33858066-43b1-4245-82d9-bd2e4ee05dcd” 文件。

  5. 恢复我们备份的“c2319c42033a5ca7f44e731bfd3fa2b5_33858066-43b1-4245-82d9-bd2e4ee05dcd” 文件,再次启动IIS Admin Service,启动成功!

 

分析与结论:

  MachineKeys文件夹作为微软加密 CryptoAPI 接口的“Key Container”,扮演着重要的角色。关于加密解密的理论知识可以参考此文

至于那个神秘的“c2319c42033a5ca7f44e731bfd3fa2b5_33858066-43b1-4245-82d9-bd2e4ee05dcd” 文件,到底是不是所有的windows server 2003系统都相同呢?(估计是不同的,要不怎么叫MachineKey呢,肯定是与机器有关)在此做个备份:文件下载



 

你需要一个Word双面打印自动确定器吗?