Главная > Microsoft, Windows > Настройка прав безопасности для конкретной службы

Настройка прав безопасности для конкретной службы

Потребовалось дать права конкретному пользователю на конкретную службу на сервере

Нашу проблему решает стандартная командочка sc.exe синтаксис её можно посмотреть тут.

К примеру нам необходимо дать права Стоп/Старт/Рестарт пользователю User1 на службу «Центр обновления Windows» wuauserv

Наши действия будут следующими

1. Получаем DACL необходимой службы (описание)

sc sdshow wuauserv

D:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

2. Получаем SID необходимого пользователя . К примеру, чтобы получить SID доменного пользователя из powershell будет примерно так

Import-Module ActiveDirectory

Get-ADUser User1

В воде будет присутствовать нечто похожее на

SID               : S-1-5-21-3518686197-980969203-4063076585-5967

 

3. Строим ACE_string для нашего пользователя (Security Descriptor Definition Language, ACE Strings)

(A;;RPWPDT;;;S-1-5-21-3518686197-980969203-4063076585-5967)

Строится оно по следующему принципу (как описано здесь)
AceType;AceFlags;Rights;ObjectGuid;InheritObjectGuid;AccountSid;(ConditionalExpression)
AceType:
A — Allow
D — Deny

AceFlags,Rights описаны здесь

ObjectGuid описание можно взять тут
ACE strings for services:
CC SERVICE_QUERY_CONFIG
DC SERVICE_CHANGE_CONFIG
LC SERVICE_QUERY_STATUS
SW SERVICE_ENUMERATE_DEPENDENTS
RP SERVICE_START
WP SERVICE_STOP
DT SERVICE_PAUSE_CONTINUE
LO SERVICE_INTERROGATE
CR SERVICE_USER_DEFINED_CONTROL
SD _DELETE
RC READ_CONTROL
WD WRITE_DAC
WO WRITE_OWNER

Ну и в качестве AccountSid — SID нашего пользователя
Итак, получили наш ACE (A;;RPWPDT;;;S-1-5-21-3518686197-980969203-4063076585-5967)
Объединяем с тем, что мы получили в пункте 1
D:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)(A;;RPWPDT;;;S-1-5-21-3518686197-980969203-4063076585-5967)

Важно! не допустить пробелов и переносов строки
4. Применяем то, что получили к нашей службе командной sc sdset
sc sdset wuauserv D:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)(A;;RPWPDT;;;S-1-5-21-3518686197-980969203-4063076585-5967)

Вуаля 🙂

  1. Комментариев нет.
  1. No trackbacks yet.

Оставьте комментарий