Jak přidělit členu skupiny Users právo pro restart služeb (ProTIP)

Jako správci serverů, jste se mohli setkat se situací, kdy potřebujete
pustit na server nějakého dodavatele, nebo podporu, ale chcete mu přidělit
pouze minimální množinu práv. Jak tedy zajistit, aby neměl práva správce,
ale mohl restartovat služby? 

Jak jsem psal výše, můžete mít scénář, kdy na server se bude
přihlašovat dodavatel aplikace, a pro zajištění podpory aplikace bude
potřebovat mít právo restartovat služby aplikace. Taková práva má obvykle
správce serveru, člen místní skupiny Administrators, případně člen
skupiny Domain Admins.

Jak a proč přidělit omezená práva?

Přidělení práv na úrovni místního Administrátora, nebo dokonce Domain
Admins však není zrovna dvakrát vhodné, zvláště pokud se chcete 100%
ujistit, že máte celé prostředí pod kontrolou. Cizí lidi s těmito právy
jsou riziko, i kdyby byly pokuty sebe vyšší. Bezpečnější je proto jít
cestou přidělení základních práv a poskytnout pouze to, co skutečně
„uživatel“ potřebuje.

Dobře, jak tedy dál? Na serveru přidělíme účtu členství pouze ve
skupině Users. Následně přidělíme tomuto účtu oprávnění pro restart
služeb.

Doporučuji pro budoucí jednodušší správu, přidělovat toto
oprávnění na skupinu. I když se jedná o nedoménový server, je to
jednodušší, protože obvykle správu provádí více lidí. Můžete
vytvořit lokální skupinu Technicians a této skupině přiřazovat
potřebná oprávnění. Následně pak členové této skupiny budou mít
právo na restart služby.

Oprávnění můžete přidělit jak ručně, tak automaticky s pomocí
různých nástrojů. V případě doménového prostředí vřele doporučuji,
přiřadit toto právo na skupinu přiřazenou na konkrétní server a službu.
Pokud se jedná o skupinu serverů na nichž běží služba, pak je
vhodnější přiřazovat práva na skupinu, která řeší oprávnění na
aplikaci v rámci skupiny serverů.

Realizace přidělení práv

Doménové prostředí (automaticky)

Přidělení oprávnění v rámci doménového prostředí můžete
realizovat skrze politiky Group Policy. Vytvoříte politiku na novou skupinu,
kde přiřadíte požadované oprávnění pro konkrétní služby. Tyto
možnosti najdete v editoru politik v následující cestě Computer
Configuration – Windows Settings – Security Settings – System
Services
.

Místní počítač (ručně)

Pokud se jedná o místní počítač, jsou možnosti omezené, jedna
z možností je nastavit toto oprávnění skrze nástroj Process Explorer od
Sysinternals.

Místní počítač (automaticky)

Pravděpodobně budete chtít toto oprávnění nastavit automaticky
s pomocí nějakého skriptu. V tomto případě je možností vícero:

  • sc.exe sdset (Security Descriptor). Součást Windows,
    práce s ním, resp. porozumění vstupních parametrů je poněkud
    náročnější.
  • SubInACL. Nástroj ze sady Resource kit, volně ke
    stažení. Práce s ním je mnohem jednodušší.
  • PowerShell modul PowerShellAcces­sControl. Externí
    PS modul

Ukázka SubInACL

subinacl.exe /errorlog=„c:tem­perrorlog.txt“
/outputlog=„c:tem­poutputlog.txt“ /service „spooler“
/GRANT=zobectes­ttestuser=TO

Ukázka PS modulu PowerShellAcces­sControl

Get-Service spooler | Add-AccessControlEntry -ServiceAccessRights
Start,Stop -Principal zobectesttestuser

Odkazy

Michal Zobec

Michal Zobec Senior IT Consultant, Project Manager ZOBEC Consulting