ユーザーに Windows サービスをインストールする権限を付与するにはどうすればよいですか?

ユーザーに Windows サービスをインストールする権限を付与するにはどうすればよいですか?

開発チームが Win2003 サーバーにサービスをインストールできるようにしたいと考えています。 制限されたアカウントで RDP/FTP 経由で接続することはすでに可能ですが、インストール権限を付与できるようにしたいと考えています。

管理者権限を付与せずにこれを実行するにはどうすればよいですか?

(サービスは .NET フレームワークを使用して作成されるため、C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil.exe を使用してインストールします)

答え1

サービスをインストールするための委任された権限は少し難しくなります。グローバル オブジェクト マネージャーのサービス コントロール マネージャー (SCM) オブジェクトでユーザーに付与できる「SC_MANAGER_CREATE_SERVICE」権限があります。

Windows Server 2003 までの Windows バージョンでは、SCM で権限を変更できませんでした。W2K3 SP1 以降では、SCM で権限を変更できるようになりました。

セキュリティを変更するためのAPIはサービスオブジェクトセキュリティの設定詳しい情報はこちらをご覧ください:http://msdn.microsoft.com/en-us/library/aa379589(VS.85).aspx

SCM に付与できる権限と SCM に設定されているデフォルトの DACL に関する詳細な参考資料は、次の場所にあります。http://msdn.microsoft.com/en-us/library/ms685981(VS.85).aspx

つまり、コードを書かずにこれを実行する方法はありません。魔法のレジストリ設定などはありません。ただし、誰かにコードを書いてもらうことができれば、完全に実現可能です。

答え2

より大きな問題は、開発チームが管理していないサーバーにアクセスできるようにすることだと私は思います。ユーザーに権限 (SC_MANAGER_CREATE_SERVICE) を付与するのではなく、テスト用の VM だけでも、ユーザーに独自のボックスを与えることを真剣に検討してください。準備ができたら、実際の管理者が本番システムにサービスをインストールする必要があります。

答え3

http://support.microsoft.com/?kbid=288129サービスの管理に関する情報はいくつかありますが、サーバーのセキュリティを大幅に変更せずに任意のサービスを作成できるようにするには、これを拡張することはできないと思います。

1 つまたは複数のサービスを作成し、ナレッジ ベースに記載されているようにアクセスを許可すると、開発者はサービスを停止して新しいバイナリをコピーできるため、最初にサービスを作成する必要がある場合でも、サービスを開発/デバッグできます。

私は個人的に、開発者をテスト サーバーに制限し、管理者アクセスを許可しています。開発者がライブ サーバーにアクセスするには、まず自分の作業がうまくいっていることを私に納得させなければなりません。

JR

関連情報