Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

服務器 C 盤僅保留 Administrators 權限導致 ASP 組件失效:FSO、ADODB、MSXML 修復實錄

編輯:關於伺服器

故障背景

為加固安全,刪除 C 盤所有非 Administrators 權限,僅保留管理員組完全控制。隨後發現 ASP 應用報錯:Server.CreateObject 失敗、文件讀寫失效、數據庫連接異常。

根因

系統組件(scrrun.dll、msado15.dll、msxml*.dll)運行上下文為 IUSR_機器名 / IIS_WPG / NETWORK SERVICE,權限被誤刪導致 COM 對象無法實例化。

修復步驟

1. 重新註冊 FSO(文件系統對象)

# 管理員命令提示符
regsvr32 %windir%\system32\scrrun.dll
# 彈窗提示 "DllRegisterServer in scrrun.dll succeeded" 即成功

2. 重新註冊 ADO(數據庫連接)

regsvr32 "C:\Program Files\Common Files\System\ado\msado15.dll"
# 64 位系統可能在 SysWOW64 下
regsvr32 "C:\Program Files (x86)\Common Files\System\ado\msado15.dll"

3. 修復 MSXML 系列 DLL 讀寫權限

# 定位所有 msxml*.dll
dir %windir%\system32\msxml*.dll
dir %windir%\SysWOW64\msxml*.dll  # 64位系統

# 為每個 DLL 添加 IIS_IUSRS / IUSR 讀取&執行權限
icacls "C:\Windows\System32\msxml3.dll" /grant "IIS_IUSRS:(RX)" "IUSR:(RX)"
icacls "C:\Windows\System32\msxml6.dll" /grant "IIS_IUSRS:(RX)" "IUSR:(RX)"
# 以此類推 msxml4.dll 等

4. 恢復關鍵目錄默認權限(建議)

# 恢復 C:\Windows\System32\inetsrv 權限
icacls "C:\Windows\System32\inetsrv" /reset /t /c /q

# 恢復網站根目錄權限
icacls "D:\wwwroot" /grant "IIS_IUSRS:(OI)(CI)(RX)" "IUSR:(OI)(CI)(RX)" /t

安全加固正確姿勢

  • 不要暴力刪除非管理員權限,改用 最小權限原則 精細授權
  • 系統目錄保持默認 ACL,僅對業務目錄收縮權限
  • 使用 icacls /save 導出 ACL 策略,變更前備份,出問題一鍵還原
  • 定期運行 secedit /configure 對照安全模板檢查
Copyright © Windows教程網 All Rights Reserved