У меня Active Directory с 64-разрядной версией Windows Server 2003. Один из моих пользователей спросил меня, возможно ли ему запускать и останавливать службы Oracle и MYSQL с начала -> панель управления -> службы. Оттуда он может управлять их запуском вручную или автоматически, но сейчас он не может из-за прав пользователя.
Можно ли добавлять новые службы в групповую политику без установки Oracle и MySQL на Windows Server 2003?
Просто чтобы убедиться, что я правильно вас понял:
Похоже, вы пытались изменить разрешения службы в групповой политике, но сделали это с компьютера, на котором не установлен Oracle или MySQL, что означает, что эти службы не отображаются в списке доступных служб.
Я могу придумать три варианта:
Установите консоль управления групповой политикой (gpmc.msc
) на компьютере с Oracle и MySQL.
Если вы используете Windows XP / 2003, загрузите и установите Консоль управления групповой политикой с пакетом обновления 1.
Если вы используете Windows Vista / 7, загрузите и установите Средства удаленного администрирования сервера для Windows 7 с пакетом обновления 1 (SP1).
Если вы используете Windows 2008 / 2008R2, добавьте функцию Управление групповой политикой возможность прямо из диспетчера сервера.
однажды gpmc
установлен, вы можете редактировать GPO на компьютере с Oracle и MySQL, и вы увидите их сервисы в списке.
Создайте фиктивную службу на компьютере, который вы используете для редактирования GPO.
Найти ServiceKeyName
услуги, которую вы хотите изменить. (Это «краткое название» службы.) Если вы знаете только DisplayName
("длинное имя"), но не ServiceKeyName
("краткое имя"), вы можете найти его на машине, на которой он установлен, например:
sc GetKeyName "MySQL Service"
Создайте поддельный сервис на компьютере, который вы используете для редактирования GPO:
sc create
ServiceKeyName
binPath= C:\Windows\system32\notepad.exe
Отредактируйте GPO.
Когда вы закончите, вы можете удалить поддельный сервис с помощью:
sc delete
ServiceKeyName
Полностью забудьте про GPO и установите разрешения прямо в сервисе.
Сначала посмотрите, какие есть разрешения:
C:\Windows\system32>sc sdshow ServiceKeyName
D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
Ой! Разве SDDL не страшен? В любом случае, идея здесь состоит в том, чтобы добавить необходимые нам биты разрешений в этот беспорядок. Например, вы можете разрешить всем пользователям домена запускать, останавливать, приостанавливать и читать разрешения, добавив:
(A;;RPWPDTRC;;;DU)
Или для локальных пользователей («встроенные пользователи»):
(A;;RPWPDTRC;;;BU)
Таким образом, последняя команда будет выглядеть примерно так:
sc sdset ServiceKeyName D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A ;; RPWPDTRC ;;; BU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
Хорошо, я соврал, я придумал еще один способ, когда писал это. ;-) Вы можете использовать subinacl.exe
для более простого способа сделать вариант 3. Однако я не знаю, совместим ли он с чем-нибудь новее, чем Windows XP / 2003.
Используйте такую команду:
subinacl /service
ServiceKeyName
/grant=Users=TOP
(TOP
это subinacl
синтаксис для sTart / stOp / Pause / continue)
Если я неправильно понял ваш вопрос, дайте мне знать.