Udostępnij za pośrednictwem


Konto systemu lokalnego

Konto LocalSystem jest wstępnie zdefiniowanym kontem lokalnym używanym przez menedżera kontroli usług. To konto nie jest rozpoznawane przez podsystem zabezpieczeń, więc nie można określić jego nazwy w wywołaniu funkcji LookupAccountName. Ma on szerokie uprawnienia na komputerze lokalnym i działa jako komputer w sieci. Token zawiera identyfikatory SID NT AUTHORITY\SYSTEM i BUILTIN\Administrators; te konta mają dostęp do większości obiektów systemowych. Nazwa konta we wszystkich ustawieniach regionalnych to .\LocalSystem. Można również użyć nazwy LocalSystem lub ComputerName\LocalSystem. To konto nie ma hasła. Jeśli określisz konto LocalSystem w wywołaniu CreateService lub funkcji ChangeServiceConfig, wszystkie podane informacje o haśle są ignorowane.

Usługa uruchamiana w kontekście konta LocalSystem dziedziczy kontekst zabezpieczeń programu SCM. Identyfikator SID użytkownika jest tworzony na podstawie wartości SECURITY_LOCAL_SYSTEM_RID. Konto nie jest skojarzone z żadnym zalogowanym kontem użytkownika. Ma to kilka konsekwencji:

  • Klucz rejestru HKEY_CURRENT_USER jest skojarzony z użytkownikiem domyślnym, a nie bieżącym użytkownikiem. Aby uzyskać dostęp do profilu innego użytkownika, personifikuj użytkownika, a następnie uzyskaj dostęp do HKEY_CURRENT_USER.
  • Usługa może otworzyć klucz rejestru HKEY_LOCAL_MACHINE\SECURITY.
  • Usługa przedstawia poświadczenia komputera na serwerach zdalnych.
  • Jeśli usługa otworzy okno polecenia i uruchomi plik wsadowy, użytkownik może nacisnąć CTRL+C, aby zakończyć plik wsadowy i uzyskać dostęp do okna poleceń z uprawnieniami LocalSystem.

Konto LocalSystem ma następujące uprawnienia:

  • SE_ASSIGNPRIMARYTOKEN_NAME (wyłączone)
  • SE_AUDIT_NAME (włączone)
  • SE_BACKUP_NAME (wyłączone)
  • SE_CHANGE_NOTIFY_NAME (włączone)
  • SE_CREATE_GLOBAL_NAME (włączone)
  • SE_CREATE_PAGEFILE_NAME (włączone)
  • SE_CREATE_PERMANENT_NAME (włączone)
  • SE_CREATE_TOKEN_NAME (wyłączone)
  • SE_DEBUG_NAME (włączone)
  • SE_IMPERSONATE_NAME (włączone)
  • SE_INC_BASE_PRIORITY_NAME (włączone)
  • SE_INCREASE_QUOTA_NAME (wyłączone)
  • SE_LOAD_DRIVER_NAME (wyłączone)
  • SE_LOCK_MEMORY_NAME (włączone)
  • SE_MANAGE_VOLUME_NAME (wyłączone)
  • SE_PROF_SINGLE_PROCESS_NAME (włączone)
  • SE_RESTORE_NAME (wyłączone)
  • SE_SECURITY_NAME (wyłączone)
  • SE_SHUTDOWN_NAME (wyłączone)
  • SE_SYSTEM_ENVIRONMENT_NAME (wyłączone)
  • SE_SYSTEMTIME_NAME (wyłączone)
  • SE_TAKE_OWNERSHIP_NAME (wyłączone)
  • SE_TCB_NAME (włączone)
  • SE_UNDOCK_NAME (wyłączone)

Większość usług nie potrzebuje takiego wysokiego poziomu uprawnień. Jeśli usługa nie potrzebuje tych uprawnień i nie jest to usługa interaktywna, rozważ użycie konta usługi lokalnej lub konta usługi sieciowej . Aby uzyskać więcej informacji, zobacz Service Security and Access Rights.