Jak przyznać zwykłym użytkownikom prawa do uruchamiania / zatrzymywania usług w systemie Windows

Domyślnie zwykli użytkownicy, którzy nie mają uprawnień administratora systemu, nie mogą zarządzać usługami systemu Windows (i większością aplikacji). Oznacza to, że nie mogą się zatrzymać, uruchomić (ponownie uruchomić), zmienić ustawień i uprawnień takich usług. W niektórych przypadkach nadal wymagane jest, aby użytkownik miał uprawnienia do ponownego uruchamiania niektórych usług i zarządzania nimi. W tym artykule przeprowadzimy Cię przez kilka sposobów zarządzania prawami do usług Windows. W szczególności pokażemy, jak zapewnić zwykłemu użytkownikowi, bez uprawnień administratora systemu Windows, prawo do uruchamiania, zatrzymywania i ponownego uruchamiania określonej usługi.

Załóżmy, że musimy podać konto domeny contoso\ tuser prawa do ponownego uruchomienia usługi drukowania (Bufor wydruku) z nazwą systemu Spolerować.

Nie ma prostego i wygodnego wbudowanego narzędzia do zarządzania uprawnieniami do usług w systemie Windows. Rozważymy kilka sposobów przyznania uprawnień użytkownika do usługi:

Treść

  • Wbudowane narzędzie SC.exe (kontroler serwisowy)
  • SubInACL: Przypisywanie praw do usługi za pomocą Sysinternals
  • Process Explorer: ustawianie uprawnień do usługi
  • Szablon bezpieczeństwa
  • Zarządzanie prawami do usług za pośrednictwem zasad grupy
  • Przypisywanie uprawnień do usług przy użyciu programu PowerShell

To, który jest łatwiejszy i wygodniejszy, zależy od Ciebie..

Wbudowane narzędzie SC.exe (kontroler serwisowy)

Standardowa, wbudowana metoda zarządzania prawami do usług systemowych w systemie Windows wymaga użycia narzędzia sc.exe (Kontroler usług).

Uwaga. Przykład użycia sc.exe do ręcznego usunięcia usługi w systemie Windows.

Głównym problemem jest wściekła składnia formatu przyznawania uprawnień do usługi (format SDDL).

Możesz uzyskać aktualne prawa do usługi w ten sposób:

sc.exe sdshow Spooler

D: (A ;; CCLCSWLOCRRC ;;; AU) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCLCSWRPWPDTLOCRRC ;;; SY) S: (AU; FA; CCDCLCSWRPWPDTDOCL;

Co oznaczają wszystkie te symbole??

S: - Systemowa lista kontroli dostępu (SACL)
D: - uznaniowe ACL (DACL)

Pierwsza litera po nawiasach oznacza: zezwól (A, Zezwól) lub odrzuć (D, Odrzuć).

Kolejna wiązka postaci - przypisywalne prawa.
CC - SERVICE_QUERY_CONFIG (żądanie ustawień serwisowych)
LC - SERVICE_QUERY_STATUS (odpytywanie o status usługi)
SW - SERVICE_ENUMERATE_DEPENDENTS (badanie zależności)
LO - SERVICE_INTERROGATE
CR - SERVICE_USER_DEFINED_CONTROL
RC - READ_CONTROL
RP - SERVICE_START (uruchomienie usługi)
WP - SERVICE_STOP (zatrzymanie usługi)
DT - SERVICE_PAUSE_CONTINUE (zawieszenie, kontynuacja usługi)

Ostatnie 2 litery, obiekty (grupa użytkowników lub SID), do których przyznane są prawa. Istnieje lista predefiniowanych grup.

Uwierzytelnieni użytkownicy AU

Operatorzy kont AO
Alias ​​RU zezwala na poprzedni system Windows 2000
Anonimowe logowanie
Uwierzytelnieni użytkownicy AU
BA Wbudowani administratorzy
BG Wbudowani goście
Operatorzy kopii zapasowych Bo
BU Wbudowani użytkownicy
Administratorzy serwera certyfikatów CA
Grupa twórców CG
Właściciel CO Creator
Administratorzy domen DA
Komputery z domeną DC
Kontrolery domeny DD
Goście DG Domain
Użytkownicy domeny DU
Administratorzy EA Enterprise
Kontrolery domen ED Enterprise
Wd wszystkim
Administratorzy zasad grupy PA
IU Interaktywnie zalogowany użytkownik
LA Lokalny administrator
Lokalny gość LG
Lokalne konto usług LS
System lokalny SY
Użytkownik logujący się do sieci NU
NIE Operatorzy konfiguracji sieci
Konto usługi sieciowej NS
Operatorzy drukarek PO
PS Osobiste ja
Użytkownicy PU Power
Grupa serwerów RS RAS
Użytkownicy serwera terminali RD
RE Replicator
RC Kod ograniczony
Administratorzy schematu SA
Operatorzy serwerów SO
Użytkownik logowania do usługi SU

Zamiast predefiniowanej grupy możesz jawnie określić użytkownika lub grupę za pomocą SID. Możesz uzyskać identyfikator SID użytkownika dla bieżącego użytkownika, używając polecenia:

whoami / użytkownik

lub dla dowolnego użytkownika domeny korzystającego z polecenia cmdlet PowerShell Get-ADUser:

Get-ADUser -Identity „iipeshkov” | wybierz SID

Na przykład prawa do użytkownika dla usługi buforowania można przyznać za pomocą następującego polecenia:

sc sdset Spooler "D: (A ;; CCLCSWRPWPDTLOCRRC ;;; SY) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCLCSWLOCRRC ;;; IU) (A ;; CCLCSWLOCRRC; RPWPCR ;;; S-1-5-21-2133228432-2794320136-1823075350-1000) S: (AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; WD) ”

SubInACL: Przypisywanie praw do usługi za pomocą Sysinternals

O wiele łatwiej jest korzystać z narzędzia konsoli. Subinakl z pakietu Sysinternals autorstwa Marka Russinowicza (do którego Microsoft jest teraz właścicielem praw autora). Składnia tego narzędzia jest znacznie prostsza i wygodniejsza dla postrzegania. Jak przyznać prawa do ponownego uruchomienia usługi przy użyciu SubInACL:

  1. Pobierz msi ze strony (https://www.microsoft.com/en-us/download/details.aspx?id=23510) i zainstaluj go w systemie docelowym.
  2. W wierszu polecenia z uprawnieniami administratora przejdź do katalogu z narzędziem: cd „C: \ Program Files (x86) \ Zestawy zasobów Windows \ Narzędzia \)
  3. Uruchom polecenie: subinacl.exe / service Spooler / grant = contoso \ tuser = PTO Uwaga. W tym przypadku daliśmy użytkownikowi prawo do zawieszenia (Pauza / Kontynuuj), uruchomienia (Start) i zatrzymania (Stop) usługi. Pełna lista dostępnych uprawnień:F: Pełna kontrola
    R: Odczyt ogólny
    W: Zapis ogólny
    X: Generic eXecute
    L: Czytaj kontrolkę
    P: Konfiguracja usługi zapytania
    S: Status usługi zapytania
    E: Wylicz usługi zależne
    C: Konfiguracja zmiany usługi
    T: Uruchom usługę
    O: Zatrzymaj usługę
    P: Wstrzymaj / Kontynuuj usługę
    I: Usługa przesłuchań
    U: Obsługa poleceń sterujących zdefiniowanych przez użytkownika

    Jeśli musisz przyznać uprawnienia do usługi działającej na komputerze zdalnym, składnia będzie następująca:
    subinacl / SERVICE \\ msk-buh01 \ spooler / grant = contoso \ tuser = F

  4. Pozostaje zalogować się do tego systemu na koncie użytkownika i spróbować ponownie uruchomić usługę za pomocą poleceń:
    buforowanie zatrzymania sieci
    bufor startowy netto

Jeśli zrobiłeś wszystko dobrze, usługa powinna się zatrzymać i uruchomić ponownie.

Process Explorer: ustawianie uprawnień do usługi

Wystarczy zmienić uprawnienia do usługi za pomocą innego narzędzia Sysinternals - Proces Explorer. Uruchom Process Explorer z uprawnieniami administratora i znajdź proces potrzebnej usługi na liście procesów. W naszym przykładzie jest to spoolsv.exe (bufor wydruku to C: \ Windows \ System32 \ spoolsv.exe). Otwórz właściwości procesu i przejdź do zakładki Usługi.

Kliknij przycisk Uprawnienia, aw oknie, które zostanie otwarte, dodaj użytkownika lub grupę, do której musisz przyznać uprawnienia do usługi i poziom uprawnień.

Szablon bezpieczeństwa

Bardziej wizualnym (ale wymagającym również więcej działań) graficznym sposobem zarządzania prawami do usług jest użycie szablonów bezpieczeństwa. Aby wdrożyć, otwórz konsolę mmc.exe i dodaj Snap Bezpieczeństwo Szablony.

Utwórz nowy szablon (Nowy szablon).

Nazwij nowy szablon i przejdź do System Usługi. Z listy usług wybierz swoją usługę Spoleruj wydruk i otwórz jego właściwości.

Ustaw typ uruchamiania (Automatyczne) i naciśnij przycisk Edytuj zabezpieczenia.

Za pomocą przycisku Dodaj Dodaj konto użytkownika lub grupy, do których chcesz przyznać uprawnienia. W naszym przypadku mamy wystarczająco dużo racji Start, Przestań i pauza.

Zapisz szablon (Zapisz).

Uwaga. Zawartość szablonu bezpieczeństwa jest zapisywana w pliku inf w katalogu C: \ Users \ nazwa użytkownika \ Documents \ Security \ Templates

Jeśli otworzysz ten plik, zobaczysz, że dane dotyczące praw dostępu są zapisywane we wcześniej wspomnianym formacie SDDL. Tak otrzymany ciąg może być użyty jako argument do polecenia sc.exe..

[Unicode] Unicode = tak [Wersja] podpis = „$ CHICAGO $” Wersja = 1 [Ogólne ustawienie usługi] „Bufor”, 2, „D: AR (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; SY) (A ;; CCDCLCSWRPWPDTLOCODRWW ;; BA) (A ;; CCLCSWLOCRRC ;;; IU) (A ;; RPWPDTRC ;;; S-1-5-21-3243688314-1354026805-3292651841-1127) S: (AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; WD ) ”

W lewo z zatrzaskiem Konfiguracja i analiza bezpieczeństwa utwórz nową bazę danych (Otwórz bazę danych) i zaimportuj nasz szablon bezpieczeństwa z pliku Prawa użytkownika bufora.inf.

Stosujemy szablon, wywołując polecenie z menu kontekstowego Konfiguruj Komputer Teraz.

Teraz możesz zweryfikować jako użytkownik, że ma on prawa do zarządzania usługą bufora wydruku.

Zarządzanie prawami do usług za pośrednictwem zasad grupy

Jeśli chcesz dać użytkownikom prawo do natychmiastowego uruchomienia / zatrzymania usługi na wielu serwerach lub komputerach w domenie, najłatwiejszym sposobem jest skorzystanie z możliwości zasad grupy (GPO).

  1. Utwórz nowy lub edytuj istniejący obiekt GPO, przypisz go do niezbędnego kontenera z komputerami w Active Directory. Przejdź do sekcji zasad Konfiguracja komputera -> Ustawienia systemu Windows -> Ustawienia zabezpieczeń -> Usługi systemowe.
  2. Znajdź usługę buforowania i, podobnie jak poprzednio omówiona metodologia, nadaj uprawnienia użytkownikowi. Zapisz zmiany.Uwaga. Wcześniej pokazaliśmy, jak za pomocą podobnego obiektu zasad grupy można ukryć dowolną usługę Windows przed wszystkimi użytkownikami systemu.
  3. Pozostaje czekać na zastosowanie zasad na komputerach klienckich i zweryfikować stosowanie ustawień praw do usługi.

Przypisywanie uprawnień do usług przy użyciu programu PowerShell

Galeria TechNet ma osobny nieoficjalny moduł PowerShell do zarządzania uprawnieniami do różnych obiektów Windows - moduł PowerShellAccessControl (można go pobrać tutaj). Ten moduł umożliwia zarządzanie prawami do usługi. Zaimportuj moduł do swojej sesji:

Moduł importu PowerShellAccessControl

Możesz uzyskać skuteczne uprawnienia dla konkretnej usługi z PowerShell w następujący sposób:

Spooler Get-Service | Get-EffectiveAccess -Principal corp \ tuser

Aby przyznać zwykłemu użytkownikowi prawo do uruchomienia i zatrzymania usługi:

Spooler Get-Service | Add-AccessControlEntry -ServiceAccessRights Start, Stop -Principal corp \ tuser

Dlatego przeanalizowaliśmy kilka sposobów zarządzania prawami do usług Windows, umożliwiając zapewnienie każdemu użytkownikowi jakichkolwiek praw do usług systemowych. W przypadku, gdy użytkownik wymaga zdalnego dostępu do usługi, bez przyznania mu uprawnień do lokalnego logowania, należy zezwolić użytkownikowi na zdalne sondowanie Menedżera sterowania usługami.