[解決済み】「ローカルシステム」アカウントと「ネットワークサービス」アカウントの違い?
質問
私は、別のプロセスを生成するWindowsサービスを書きました。このプロセスは、COMオブジェクトを作成します。サービスが「ローカルシステム」アカウントで実行される場合はすべて正常に動作しますが、サービスが「ネットワークサービス」アカウントで実行される場合、外部プロセスは起動しますが、COMオブジェクトの作成に失敗します。COMオブジェクトの作成で返されるエラーは、標準のCOMエラーではありません(作成されるCOMオブジェクトに固有のエラーだと思います)。
では、「ローカルシステム」と「ネットワークサービス」の2つのアカウントはどのように違うのか、どのように判断すればいいのでしょうか?これらのビルトインアカウントは非常に謎めいていて、誰もあまり知らないようです。
どのように解決するのか?
標準的なサービスアカウントの機能については、非常に多くの混乱があるため、簡単に説明することにします。
まず、実際のアカウントです。
-
ローカルサービス アカウント (優先)
ネットワークサービスと非常によく似た限定サービスアカウントで、標準的な最小特権サービスを実行することを目的としています。ただし、ネットワークサービスとは異なり、ネットワークへのアクセスは 匿名 ユーザーです。
-
名前
NT AUTHORITY\LocalService
- アカウントにパスワードがない場合(入力されたパスワード情報は無視されます)。
- HKCUは、以下を表します。 ローカルサービス ユーザーアカウント
- があります。 最小限の ローカルコンピューター上の特権
- プレゼント 匿名 ネットワーク上の認証情報
- SID : S-1-5-19
-
の下に独自のプロファイルがあります。
HKEY_USERS
レジストリキー (
HKEY_USERS\S-1-5-19
)
-
名前
-
標準的な特権サービスを実行するための限定的なサービスアカウントです。このアカウントはローカルシステム (あるいは Administrator) よりもはるかに制限されていますが、それでもマシンとしてネットワークにアクセスする権利があります (上記の注意点を参照してください)。
-
NT AUTHORITY\NetworkService
- アカウントにパスワードがない(入力されたパスワード情報は無視されます)。
- HKCUは、以下を表します。 ネットワークサービス ユーザーアカウント
- があります。 最小限の ローカルコンピューター上の特権
-
は、コンピュータの認証情報を提示します(例
MANGO$
) をリモートサーバーに送信します。 - SID : S-1-5-20
-
の下に独自のプロファイルがあります。
HKEY_USERS
レジストリキー (
HKEY_USERS\S-1-5-20
) -
これを使用してタスクをスケジュールしようとする場合、次のように入力します。
NETWORK SERVICE
を ユーザーまたはグループの選択 ダイアログ
-
-
ローカルシステム アカウント (危険です、使わないでください!)
管理者アカウントよりも完全に信頼できるアカウント。シングルボックスでこのアカウントにできないことはなく、マシンとしてネットワークにアクセスする権利を持っています(これにはActive Directoryとマシンアカウントに何か権限を与える必要があります)。
-
名前
.\LocalSystem
(を使用することもできます。LocalSystem
またはComputerName\LocalSystem
) - アカウントにパスワードがない(入力されたパスワード情報は無視されます)。
- SID : S-1-5-18
-
は、それ自身のプロファイルを持っていません (
HKCU
は デフォルト ユーザー) - があります。 広範囲 ローカルコンピュータの特権
-
は、コンピュータの認証情報を提示します(例.
MANGO$
) をリモートサーバーに送信します。
-
名前
上記、ネットワークへのアクセスというのは、あくまでも
SPNEGO
(Negotiate)、NTLM、Kerberos などの認証機構は含まれず、その他の認証機構は含まれない。たとえば
LocalService
はインターネットにアクセスすることができます。
標準のアウトオブボックスのアカウントで実行する場合の一般的な問題は、デフォルトのパーミッションを変更すると、そのアカウントで実行するすべてのもののセットを拡張することになるということです。つまり、データベースにDBOを許可すると、ローカルサービスやネットワークサービスとして動作しているサービスがそのデータベースにアクセスできるだけでなく、これらのアカウントで動作している他のすべてのサービスもアクセスできるようになります。もしすべての開発者がこれを行えば、コンピュータは実質的に何でもできる権限 (より具体的には、そのアカウントに与えられたさまざまな追加権限のスーパーセット) を持つサービスアカウントを持つことになります。
セキュリティの観点からは、自分のサービスが行うことに必要なパーミッションを正確に持ち、それ以外のことを行わない独自のサービスアカウントで実行することが常に望ましいと言えます。しかし、この方法の代償は、サービスアカウントの設定とパスワードの管理です。これは、各アプリケーションが管理する必要のある、バランスの取れた行為です。
あなたの特定のケースでは、おそらくあなたが見ている問題は、DCOMまたはCOM+の活性化が、特定のアカウントのセットに制限されていることです。Windows XP SP2、Windows Server 2003、およびそれ以降では、アクティベーションの許可が大幅に制限されました。コンポーネントサービスMMCスナップインを使用して、特定のCOMオブジェクトを調べ、アクティベーションの許可を確認する必要があります。もし、マシンアカウントとしてネットワーク上の何もアクセスしないのであれば、以下の使用を真剣に検討すべきです。 ローカルサービス (基本的にオペレーティングシステムであるローカルシステムではない)。
Windows Server 2003の場合 あなた できない スケジュールされたタスクの実行 として
-
NT_AUTHORITY\LocalService
(別名、ローカルサービスアカウント)、または -
NT AUTHORITY\NetworkService
(別名:ネットワークサービスアカウント)。
この機能は、Task(タスク)で追加されたもののみです。 スケジューラ2.0 これは、Windows Vista/Windows Server 2008 以降にのみ存在します。
として動作するサービスは
NetworkService
は、ネットワーク上のマシンの認証情報を提示します。つまり、もしあなたのコンピューターが
mango
,
は、マシンアカウントとして表示されます。
MANGO$
:
関連
-
[解決済み] openssl' は内部コマンドまたは外部コマンドとして認識されません。
-
[解決済み] terasso libraryでUnknown errorが発生し、vbaを使用してteradataに接続できない。
-
tensorflow load error 終了コード -1073741819 (0xC0000005)でプロセス終了。
-
[解決済み] Ahkファイルから.exeを生成すると、Heur.AdvML.Bが表示される。
-
[解決済み] Windowsのバッチスクリプトにおける"@"の意味について
-
[解決済み] WindowsのcmdでCD /Dスイッチの理由は何ですか?
-
[解決済み] CygwinとMinGWの違いは何ですか?
-
[解決済み] ハッシュ化アルゴリズムと暗号化アルゴリズムの根本的な違い
-
[解決済み】Integrated Security = True と Integrated Security = SSPI の違いは何ですか?
-
[解決済み】IIS/ASP.NETのすべてのユーザーアカウントとその違いについて教えてください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】DockerリポジトリサーバーがHTTPSクライアントにHTTPレスポンスを返すようになった
-
[解決済み] xcopyがAccess Deniedと表示される原因は何ですか?
-
[解決済み] .batファイルのアイコンをプログラムで変更するには?
-
[解決済み] 旧バージョンのRubyを削除する(Windowsの場合)
-
[解決済み] Windowsの能書きは?
-
[解決済み] Windowsで "rm -rf "に相当するものはありますか?
-
.NET フレームワークのインストールに失敗しました 0x800c0006 解決方法
-
[解決済み] Windowsからリモートサーバーへscpでローカルファイルをコピーする [終了しました]。
-
[解決済み】パーミッション不足で設定ファイルが読めない
-
[解決済み】IIS/ASP.NETのすべてのユーザーアカウントとその違いについて教えてください。