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 アカウントの使用を検討してください。 詳細については、「 サービス セキュリティとアクセス権」を参照してください。