обзор
Эта проблема возникла на некоторых виртуальных серверах, перенесенных из «облачного» провайдера обратно в наш внутренний центр обработки данных. Основной причиной были права доступа к %SystemRoot%\System32\catroot2
папке. Между разрешениями для этой папки на исправном сервере и разрешениями на перенесенном сервере было несколько различий. Я полагаю, что ключевым было то, TrustedInstaller
чего не было full access
.
Дополнительные симптомы
Просматривая журнал приложений в средстве просмотра событий, мы увидели ряд ошибок:
Source: CAPI2
EventId: 257
Text: The Cryptographic Services service failed to initialize the Catalog Database. The ESENT error was: -1032.
Source: ESENT
EventId: 490
Text: Catalog Database (416) Catalog Database: An attempt to open the file "C:\Windows\system32\CatRoot2\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}\catdb" for read / write access failed with system error 5 (0x00000005): "Access is denied. ". The open file operation will fail with error -1032 (0xfffffbf8).
Подсказка находится в тексте ошибки ESENT; то есть права доступа к файлу в папке catroot2.
разрешение
Дайте учетной записи доверенного установщика полный контроль над папкой catroot2 и ее дочерними элементами.
В случае, если этого недостаточно, для сравнения, работа icacls %systemroot%\system32\catroot2
на исправном сервере дает следующее:
C:\Windows\system32\catroot2 NT SERVICE\CryptSvc:(F)
NT SERVICE\CryptSvc:(OI)(CI)(IO)(F)
NT SERVICE\TrustedInstaller:(I)(F)
NT SERVICE\TrustedInstaller:(I)(CI)(IO)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
BUILTIN\Administrators:(I)(F)
BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
BUILTIN\Users:(I)(RX)
BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE)
CREATOR OWNER:(I)(OI)(CI)(IO)(F)
APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(OI)(CI)(IO)(GR,GE)
NB. Чтобы добавить Trusted Installer, вам необходимо выполнить поиск по учетным записям локального компьютера nt service\trustedinstaller
.
После замены разрешений catroot2
убедитесь, что вы установили replace permissions on child objects & containers
флажок, чтобы разрешить дочерним элементам и их разрешения.
Для самого исправления перезагрузка не требуется (хотя очевидно, что после того, как обновления начнут работать снова, вам, вероятно, потребуется перезагрузка для них).