0

VS2013 を使用して Windows サービス アプリケーションを作成し、プロパティServiceProcessInstaller.AccountSystem.ServiceProcess.ServiceAccount.LocalSystemに設定しましたが、 SYSTEMアカウントに許可を与えるまでサービスは実行されません。

しかし、そのSYSTEMアカウントが、ここで参照されているアカウントか、この列挙値System.ServiceProcess.ServiceAccount.LocalSystemで参照されているアカウントと同じかどうかは疑問です。

4

1 に答える 1

0

MSDN の記事「LocalSystem アカウント」から:

LocalSystem アカウントは、サービス コントロール マネージャーによって使用される定義済みのローカル アカウントです。[...] ローカル コンピューターに対して幅広い権限を持ち、ネットワーク上のコンピューターとして機能します。そのトークンには、NT AUTHORITY\SYSTEM および BUILTIN\Administrators SID が含まれています。これらのアカウントは、ほとんどのシステム オブジェクトにアクセスできます。

これは微妙な違いです。LocalSystem はアカウントの名前 (サービス コントロール マネージャーによって定義されます。カーネルの観点からは実際にはアカウントではありません) であり、SYSTEM はそのアカウントに関連付けられたセキュリティ ID の名前です。

つまり、サービスを作成または変更するときは LocalSystem をアカウント名として使用する必要がありますが、アクセス許可を割り当てるときは SYSTEM を使用する必要があります。(または、管理者グループに権限を付与することもできます。)

于 2014-10-19T21:27:25.297 に答える