LocalSystem 帐户

LocalSystem 帐户是服务控制管理器使用的预定义本地帐户。 安全子系统无法识别此帐户,因此无法在 对 LookupAccountName 函数的调用中指定其名称。 它在本地计算机上具有广泛的权限,并充当网络上的计算机。 其令牌包括 NT AUTHORITY\SYSTEM 和 BUILTIN\Administrators SID;这些帐户有权访问大多数系统对象。 所有区域设置中的帐户名称为 .\LocalSystem。 也可以使用名称 LocalSystem 或 ComputerName\LocalSystem。 此帐户没有密码。 如果在调用 CreateService 或 ChangeServiceConfig 函数时指定 LocalSystem 帐户,则会忽略你提供的任何密码信息。

在 LocalSystem 帐户的上下文中运行的服务继承 SCM 的安全上下文。 用户 SID 是从 SECURITY_LOCAL_SYSTEM_RID 值创建的。 该帐户不与任何登录的用户帐户相关联。 这具有几方面的含义:

  • 注册表项HKEY_CURRENT_USER与默认用户(而不是当前用户)相关联。 若要访问其他用户的配置文件,请模拟该用户,然后访问 HKEY_CURRENT_USER
  • 服务可以打开 注册表项HKEY_LOCAL_MACHINE\SECURITY
  • 该服务向远程服务器提供计算机的凭据。
  • 如果服务打开命令窗口并运行批处理文件,则用户可以按 CTRL+C 终止批处理文件,并获取对具有 LocalSystem 权限的命令窗口的访问权限。

LocalSystem 帐户具有以下权限:

  • 已禁用SE_ASSIGNPRIMARYTOKEN_NAME ()
  • 已启用SE_AUDIT_NAME ()
  • 已禁用SE_BACKUP_NAME ()
  • 已启用SE_CHANGE_NOTIFY_NAME ()
  • 已启用 SE_CREATE_GLOBAL_NAME ()
  • 已启用SE_CREATE_PAGEFILE_NAME ()
  • 已启用SE_CREATE_PERMANENT_NAME ()
  • 已禁用SE_CREATE_TOKEN_NAME ()
  • 已启用SE_DEBUG_NAME ()
  • 已启用SE_IMPERSONATE_NAME ()
  • 已启用SE_INC_BASE_PRIORITY_NAME ()
  • 已禁用SE_INCREASE_QUOTA_NAME ()
  • 已禁用SE_LOAD_DRIVER_NAME ()
  • 已启用SE_LOCK_MEMORY_NAME ()
  • 已禁用SE_MANAGE_VOLUME_NAME ()
  • 已启用SE_PROF_SINGLE_PROCESS_NAME ()
  • 已禁用SE_RESTORE_NAME ()
  • 已禁用SE_SECURITY_NAME ()
  • 已禁用SE_SHUTDOWN_NAME ()
  • 已禁用SE_SYSTEM_ENVIRONMENT_NAME ()
  • 已禁用SE_SYSTEMTIME_NAME ()
  • 已禁用SE_TAKE_OWNERSHIP_NAME ()
  • 已启用SE_TCB_NAME ()
  • 已禁用SE_UNDOCK_NAME ()

大多数服务不需要如此高的特权级别。 如果服务不需要这些特权,并且不是交互式服务,请考虑使用 LocalService 帐户NetworkService 帐户。 有关详细信息,请参阅 服务安全和访问权限