Przegląd
Ten problem występował na niektórych serwerach wirtualnych migrowanych z dostawcy „chmury” z powrotem do naszego wewnętrznego centrum danych. Główną przyczyną były uprawnienia do %SystemRoot%\System32\catroot2
folderu. Istnieje wiele różnic między uprawnieniami do tego folderu na zdrowym serwerze a uprawnieniami na serwerze migrowanym. Uważam, że kluczowym było to, TrustedInstaller
że nie miał full access
.
Dodatkowe objawy
Patrząc na dziennik aplikacji w przeglądarce zdarzeń, zauważyliśmy szereg błędów:
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).
Wskazówka znajduje się w tekście błędu ESENT; tzn. problem z uprawnieniami dostępu do pliku w folderze catroot2.
Rozkład
Daj zaufanemu instalatorowi pełną kontrolę nad folderem catroot2 i jego dziećmi.
Jeśli to nie wystarczy, dla porównania uruchomienie icacls %systemroot%\system32\catroot2
na zdrowym serwerze daje:
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)
Uwaga: aby dodać Zaufany instalator, musisz wyszukać na kontach komputera lokalnego nt service\trustedinstaller
.
Po zamianie uprawnień na catroot2
, upewnij się, że kliknąłeś pole replace permissions on child objects & containers
wyboru, aby upewnić się, że elementy potomne mają również przydzielone uprawnienia.
Ponowne uruchomienie nie jest wymagane dla samej poprawki (choć oczywiście, gdy aktualizacje zaczną ponownie działać, prawdopodobnie trzeba będzie je ponownie uruchomić).