Windows OSでは、アクセス権の設定画面や実行中のプロセス/サービス一覧で、「System」「Local Service」「Network Service」という作った覚えのないアカウントを見かけることはないだろうか。これらの正体や指定方法、注意点を解説する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象OS:Windows 8.1/Windows 10/Windows 11、Windows Server 2012/Windows Server 2012 R2/Windows Server 2016/Windows Server 2019/Windows Server 2022
※会員登録(無料)をすると、🔒の付いているセクションを読むことができます。
Windows OSで何らかの設定をしていると、作った覚えのないユーザーアカウントらしきものを見かけることはないだろうか。
例えば、タスクマネージャーの[詳細]タブを開いて実行中のプロセス一覧を表示させ、そこの[ユーザー名]列に注目する。次の画面のように、サインイン中のユーザーとは異なる「LOCAL SERVICE」「NETWORK SERVICE」「SYSTEM」といったアカウントによって複数のプロセスが実行されていることが分かる。
特に「SYSTEM」というアカウントは、ファイル/フォルダのアクセス権の設定画面でよく見かけるはずだ。たいていはAdministratorsグループと同じく、フルコントロールの権限が割り当てられている。
しかし、[設定]アプリの[アカウント]にも、「コンピュータの管理」ツールの[システム ツール]−[ローカル ユーザーとグループ]にも、これらのアカウントは見当たらない。実際、こうしたアカウントを作成した覚えがないはずだ。
本Tech TIPSでは、この「SYSTEM」「LOCAL SERVICE」「NETWORK SERVICE」について、注意点とともに解説しよう。
前出のタスクマネージャーのプロセス一覧画面で、「SYSTEM」「LOCAL SERVICE」「NETWORK SERVICE」で実行されているプロセスは、Windows OSの各種サービスプログラムのプロセスか、あるいはサービスから起動された子プロセスが多数を占める。すなわち、サービスを起動するのに用いられているアカウントといえる。
これらのアカウントは、Windows OSがサービスを起動するための専用アカウントとして提供しているものだ。アプリケーションなど通常のプログラムと異なり、サービスは特殊な権限を必要とすることが多いため、通常のユーザーアカウントではなく、これらのサービス用アカウントがデフォルトでサービス起動に利用される。いずれもOSによってインストール時に自動作成されるビルトインアカウントだ。
名称 | System (Local System) |
Local Service | Network Service |
---|---|---|---|
名称(日本語) | ローカル システム | ローカル サービス | ネットワーク サービス |
アカウントの実際の名前 | NT AUTHORITY\ System |
NT AUTHORITY\ LocalService |
NT AUTHORITY\ NetworkService |
権限 | Administratorsグループのメンバと同じレベル | Usersグループのメンバと同じレベル | Usersグループのメンバと同じレベル |
ネットワークアクセス時の資格情報 | ローカルのコンピュータアカウント(<コンピュータ名>$) | 匿名 | ローカルのコンピュータアカウント(<コンピュータ名>$) |
プロファイルのパス | 【通常】 %SystemRoot%\ system32\ config\ systemprofile\ 【x64環境の32bitアプリ】 %SystemRoot%\ SysWOW64\ config\ systemprofile\ |
%SystemRoot%\ ServiceProfiles\ LocalService\ |
%SystemRoot%\ ServiceProfiles\ NetworkService\ |
パスワードの扱い | 指定不要(管理しなくてよい) | 指定不要(管理しなくてよい) | 指定不要(管理しなくてよい) |
SID | S-1-5-18 | S-1-5-19 | S-1-5-20 |
レジストリハイブ「HKEY_CURRENT_USER」の参照先 | HKEY_USERS\ .DEFAULT または HKEY_USERS\ S-1-5-18 |
HKEY_USERS\ S-1-5-19 |
HKEY_USERS\ S-1-5-20 |
3種類のサービス用アカウントの違い 「SID」については、Tech TIPS「オブジェクトを識別するSIDとは?」を参照していただきたい。 |
「System」はAdministratorsグループのメンバと同等の権限を持つアカウントで、システムへのフルアクセスが可能だ。ネットワークリソース(ネットワークを経由して利用するリソース)にも、ローカルのコンピュータアカウントの資格情報でアクセスできることから、Active Directoryのディレクトリサービスなどネットワーク系のサービスにも多用されている。ドメインコントローラ上でSystemアカウントによって起動されたサービスは、そのドメイン全体にアクセスできる。
このようにSystemアカウントは強力な権限を持つため、攻撃者にサービスの脆弱(ぜいじゃく)性を突かれて乗っ取られた際、被害が甚大になりかねない。特に必要がなければ、より権限の少ない「Local Service」「Network Service」などのアカウントでサービスを実行することが推奨されている。
「Local Service」はUsersグループのメンバと同じ権限しか持たないサービス用アカウントだ。ネットワークリソースへのアクセスも、特定アカウントではなく匿名の資格情報に制限される。デフォルトでは、ローカルとネットワークのどちらのリソースに対しても、Systemほど強力な権限を必要としないサービスで利用されている。
「Network Service」は、Local Service同様、Usersグループのメンバと同じ権限しか持たないサービス用アカウント。ただしネットワークリソースには、Systemと同じくローカルのコンピュータアカウントの資格情報でアクセスできることから、Systemほど強力な権限を必要としないネットワーク系サービスで利用されている。
Windows OSの設定をしていると、サービスを正常に実行するために、サービス用アカウントにファイル/フォルダのアクセス権限を与える、といった作業をすることがある。
ところが前出のサービス用アカウントは特殊なビルトインアカウントのせいなのか、GUIでアカウントを指定する際、そのアカウント名称とパスワードについて戸惑うことがある。
サービス用アカウントには前出の表のようにいくつかの名称がある。このうち、「Local System」「LocalService」「NetworkService」といった名称だと、ユーザーアカウントの選択画面でエラーが生じる。指定すべきアカウント名は以下のとおりだ(大文字小文字の区別はない)。
Copyright© Digital Advantage Corp. All Rights Reserved.