Contul va avea nevoie de următorul acces pe scmanager pentru a monitoriza de la distanță toate serviciile unei mașini:
Acest șir care ar trebui să fie injectat în ACL actualul scmanager:
(A;;CCLCRPRC;;;<AccountSID>)
A: Permite
CC - SC_MANAGER_CONNECT - conectați de la distanță
LC - SC_MANAGER_ENUMERATE_SERVICE - listează toate serviciile
RP - SC_MANAGER_QUERY_LOCK_STATUS - interogați starea fiecăruia
RC - STANDARD_RIGHTS_READ - citiți permisiunile scmanager și serviciile
ACL este stocat la HKLM:\SYSTEM\CurrentControlset\Control\ServiceGroupOrder\Security
Veți dori să determinați care este ACL-ul curent pe scmanager și să includeți șirul de mai sus în locația corespunzătoare -- care este undeva la mijloc, la sfârșitul ACL-ului discreționar și înaintea ACL-ului de sistem, așa:
D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;; BA)(A;;CC;;;AC)(A;;CC;;;S-1-15-3-1024-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx)(A;;CCLCRPRC;;;<SID merge aici>) S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)
În funcție de modul în care îl implementați și care este sistemul dvs. de implementare automată, este posibil să vă fie mai ușor să utilizați sc.exe
comanda. „Serviciul” pe care îl gestionați cu sc.exe nu este cu adevărat un serviciu, este managerul de control al serviciului (scmanager):
sc.exe sdset scmanager "D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A; ;;KA;;;BA)(A;;CC;;;AC)(A;;CC;;;S-1-15-3-1024-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx)(A;;CCLCRPRC;;; <SID merge aici>)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)"
Acesta este un acces excesiv din punct de vedere tehnic, deoarece acordă contului permisiunea de a interoga starea și permisiunile oricărui serviciu, nu doar pentru o mână.