web-dev-qa-db-ja.com

Win2008:SC SDSET-特定のローカルサービスを停止および開始するための特定のローカルユーザー権限を付与する方法は?

Sdsetコマンドの便利なリファレンスはどこにありますか?

私は読んだり読んだりできますが、言うべき簡単な手順のリストをまだ見つけていません。

サービス:アプリ
ユーザー:ジョー

ジョーにアプリの開始/停止/再起動を許可する

(なぜそんなに簡単にできないのですか?)

:sdsetを間違って取得すると、サービスがService Managerから消え、root/systemにのみ表示されます(管理者には表示されません)。これを正しく行うことは重要です。

ここでまだヘルプを探しているかどうかわかりません。私はしばらくこれをしていません。サービスコントロールの委任の慣習から抜け出し、アプリ所有者の一部をローカル管理者にしました。

Subinacl を使用して、サービスのアクセス許可を変更できます。

subinacl /service SERVICE_NAME /grant=DOMAIN\GROUP=F

表示名(通常はスペースがある)ではなく、実際のサービス名(通常はスペースなし)を使用する

SCコマンドは、サービスを完全に制御できる場合にのみ、リモートサービス制御で機能します。委任できるすべてのアクセス許可を以下に示します。

  F : Full Control
  R : Generic Read
  W : Generic Write
  X : Generic eXecute
  L : Read controL
  Q : Query Service Configuration
  S : Query Service Status
  E : Enumerate Dependent Services
  C : Service Change Configuration
  T : Start Service
  O : Stop Service
  P : Pause/Continue Service
  I : Interrogate Service
  U : Service User-Defined Control Commands

サーバーが2003SP1以降の場合、サービスをリモートで制御できるようにする1つのタイムステップもあります。SP1はサービスコントロールマネージャーのデフォルトACLを変更しました。 services.mscのリモート使用は、SP1バージョンのACLでは機能しません。次のコマンドを使用して、ACLを元に戻し、リモートサービスの開始を停止できるようにします。ここでラップされていますが、単一のコマンドとして入力する必要があります。scsdset SCMANAGER D:(A ;; CCLCRPRC ;;; AU)(A ;; CCLCRPWPRC ;;; SY)(A ;; KA ;;; BA)S: (AU; FA; KA ;;; WD)(AU; OIIOFA; GA ;;; WD)

2003 SP1 ACLの変更と、そのSDDLの出所に関する詳細情報 http://support.Microsoft.com/?id=90746

Subinaclでエラー1783が生成された場合の修正プログラム http://support.Microsoft.com/kb/827209

おそらく2008 R1/R2サーバーには別のSCMANAGER SDDLが必要になります。

1
Clayton

誰かがここでその栄光のすべてでそれを説明しました:

http://msmvps.com/blogs/erikr/archive/2007/09/26/set-permissions-on-a-specific-service-windows.aspx

基本的に、Sysinternals PSGETSIDなどを使用してセキュリティプリンシパルのSIDを取得し、scsdsetで使用されるSDDL文字列をつなぎ合わせることができます。

横向きになることが心配な場合は、レジストリキーのバックアップコピーをエクスポートする必要があります。

HKLM\SYSTEM\CurrentControlSet\services\<service>  
1
Greg Askew