Где можно найти полезный справочник по команде 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
Существует также один временной шаг, позволяющий управлять службами удаленно, если сервер 2003 SP1 или новее: SP1 изменил ACL по умолчанию в диспетчере управления службами. Удаленное использование services.msc не работает с версией ACL SP1. Измените ACL, чтобы разрешить удаленный запуск службы и остановить с помощью следующей команды. Здесь он заключен в оболочку, но должен вводиться одной командой: sc sdset SCMANAGER D: (A ;; CCLCRPRC ;;; AU) (A ;; CCLCRPWPRC ;;; SY) (A ;; KA ;;; BA) S: (AU; FA; KA ;;; WD) (AU; OIIOFA; GA ;;; WD)
Дополнительная информация об изменении ACL 2003 SP1 и откуда этот SDDL http://support.microsoft.com/?id=907460
Исправление, если subinacl выдает ошибку 1783 http://support.microsoft.com/kb/827209
Возможно, вам понадобится другой SDDL SCMANAGER для серверов 2008 R1 / R2.
Кто-то объяснил это во всей красе здесь:
http://msmvps.com/blogs/erikr/archive/2007/09/26/set-permissions-on-a-specific-service-windows.aspx
По сути, вы можете получить SID участника безопасности, используя что-то вроде Sysinternals PSGETSID, и собрать строку SDDL, которая будет использоваться с sc sdset.
Если вас беспокоит, что все идет не так, вам следует экспортировать резервную копию раздела реестра:
HKLM\SYSTEM\CurrentControlSet\services\<service>