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が必要になります。
誰かがここでその栄光のすべてでそれを説明しました:
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>