+7 (495) 660-35-00

info@iteron.ru

129226, РФ, Москва

Сельскохозяйственная, д. 11, к.3, оф. 148

09:00 - 21:00

без выходных

Предоставление пользователю прав на запуск/остановку сервисов (служб) Windows

 IT Заметки, Windows Server    

Буквально сегодня понадобилось дать человеку возможность перезапускать тестовый вебсервер под виндой.
Права админа давать естественно давать не хочется.
«Мощный» юзер не подходит.

 

Способ первый:

И тут на помощь приходит technet, который расcказывает про sc.
В данном случае нас интересуют 2 команды:
sc sdshow — показывает права
sc sdset — устанавливает права

Просмотр установленных прав у сервиса:

sc sdshow ABBYY.ProcStation.FlexiCapture.10.0
sc sdshow ABBYY.ProcServer.FlexiCapture.10.0
sc sdshow ABBYY.Licensing.FlexiCapture.Standard.10.0

Вывод команды sc:

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

S: - System Access Control List (SACL).
D: - Discretionary ACL (DACL) - здесь указываются права для всех и всего.

Первая буква после скобок означает разрешаем (A, Allow) или запрещаем (D, Deny).

Мы разрешаем:

(A;;;;;)

И потом видим комбинации из двух букв:

CC - SERVICE_QUERY_CONFIG
LC - SERVICE_QUERY_STATUS
SW - SERVICE_ENUMERATE_DEPENDENTS
LO - SERVICE_INTERROGATE
CR - SERVICE_USER_DEFINED_CONTROL
RC - READ_CONTROL
RP - SERVICE_START
WP - SERVICE_STOP
DT - SERVICE_PAUSE_CONTINUE

По сути, нас будут интересовать последние три опции:

(A;;RPWPDT;;;)

Последние 2 буквы обозначают кому мы разрешаем или запрещаем:

AU Authenticated Users
AO Account operators
RU Alias to allow previous Windows 2000
AN Anonymous logon
AU Authenticated users
BA Built-in administrators
BG Built-in guests
BO Backup operators
BU Built-in users
CA Certificate server administrators
CG Creator group
CO Creator owner
DA Domain administrators
DC Domain computers
DD Domain controllers
DG Domain guests
DU Domain users
EA Enterprise administrators
ED Enterprise domain controllers
WD Everyone
PA Group Policy administrators
IU Interactively logged-on user
LA Local administrator
LG Local guest
LS Local service account
SY Local system
NU Network logon user
NO Network configuration operators
NS Network service account
PO Printer operators
PS Personal self
PU Power users
RS RAS servers group
RD Terminal server users
RE Replicator
RC Restricted code
SA Schema administrators
SO Server operators
SU Service logon user
+ к этому списку можно явно указать пользователя по SID'у.

Для получения SID пользователя можно воспользоваться PowerShell, указав логин пользователя:

$name = "ababkin" (New-Object System.Security.Principal.NTAccount($name)).Translate([System.Security.Principal.SecurityIdentifier]).value

Вывод скрипта:

S-1-5-21-61352674-892392994-1602391049-1004

В итоге получаем строку для пользователя:

(A;;RPWPDT;;;S-1-5-21-61352674-892392994-1602391049-1004)

Окончательно команда будет выглядеть так:

sc sdset ABBYY.ProcStation.FlexiCapture.10.0 D:(A;;RPWPDT;;;S-1-5-21-61352674-892392994-1602391049-1020)(A;;RPWPDT;;;S-1-5-21-61352674-892392994-1602391049-1004)(A;;RPWPDT;;;S-1-5-21-61352674-892392994-1602391049-1010)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)sc sdset ABBYY.ProcServer.FlexiCapture.10.0 D:(A;;RPWPDT;;;S-1-5-21-61352674-892392994-1602391049-1020)(A;;RPWPDT;;;S-1-5-21-61352674-892392994-1602391049-1004)(A;;RPWPDT;;;S-1-5-21-61352674-892392994-1602391049-1010)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)sc sdset ABBYY.Licensing.FlexiCapture.Standard.10.0 D:(A;;RPWPDT;;;S-1-5-21-61352674-892392994-1602391049-1020)(A;;RPWPDT;;;S-1-5-21-61352674-892392994-1602391049-1004)(A;;RPWPDT;;;S-1-5-21-61352674-892392994-1602391049-1010)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

 

Способ второй:

Используем ПО - svcadmin

(Всего просмотров: 2 563, просмотров сегодня: 1)

 

Отсканируйте код