Ukladanie a obnovovanie povolení NTFS pomocou ICACLS

Správa povolení NTFS v priečinkoch súborového servera môže byť niekedy únavná úloha. Neopatrné zmeny na najvyššej (koreňovej) úrovni adresára môžu viesť k neočakávaným výsledkom, ak dôjde k násilnej zmene individuálnych povolení pre súbory a adresáre nižšej úrovne. Pred významnou zmenou povolení (prenos, aktualizácia zoznamov ACL, migrácia prostriedkov) v priečinku NTFS (zdieľanie v sieti) je vhodné mať k dispozícii zálohu starých povolení, ktorá vám umožní vrátiť sa k pôvodným nastaveniam alebo aspoň objasniť staré prístupové práva k určitému súboru alebo adresáru..

Na export / import aktuálnych oprávnení adresárov NTFS môžete použiť pomocný program icacls, ktorá je súčasťou systému Windows. Tento obslužný program sa používa na získanie a úpravu zoznamov riadenia prístupu (ACL) k súborovým systémovým objektom.

Ak chcete získať všetky zoznamy ACL pre konkrétny priečinok a podadresáre a súbory a uložiť ich do textového súboru, musíte spustiť príkaz

icacls g: \ veteran / save veteran_ntfs_perms.txt / t / c
Súbor s oprávneniami je predvolene uložený v priečinku aktuálneho používateľa.

poznámka. Prepínač / t naznačuje, že musíte získať zoznam ACL pre všetky podradené priečinky a súbory, prepínač / c vám umožňuje ignorovať chyby prístupu. Pridaním prepínača / q môžete zakázať zobrazovanie informácií o úspešných akciách pri prístupe k objektom súborového systému.

V závislosti od počtu súborov a priečinkov môže proces exportovania povolení chvíľu trvať. Po dokončení príkazu sa zobrazí štatistika počtu spracovaných a preskočených súborov..

Úspešne spracovaných 3001 súborov; Nepodarilo sa spracovať 0 súborov

Pomocou ľubovoľného textového editora otvorte súbor veteran_ntfs_perms.txt. Ako vidíte, obsahuje kompletný zoznam priečinkov a súborov v adresári a pre každé aktuálne povolenie sa uvádza formát SDDL (Jazyk definície popisovača zabezpečenia).

Napríklad súčasné povolenia NTFS v koreňovom adresári priečinka sú nasledujúce:

D: PAI (A; OICI; FA;;; BA) (A; OICIIO; FA;;; CO) (A; OICI; 0x1200a9 ;;; S-1-5-21-2340243621-32346796122-2349433313-23777994) (A; OICI; 0x1301bf ;;; S-1-5-21-2340243621-32346796122-2349433313-23777993) (A; OICI; FA ;;; SY) (A; OICI; FA ;;; S-1-5 -21-2340243621-32346796122-2349433313-24109193) S: AI

Tento riadok popisuje prístup pre niekoľko skupín alebo používateľov. Nebudeme sa podrobne zaoberať syntaxou SDDL (ak si budete priať, pomoc nájdete v MSDN). Napríklad budeme analyzovať malú časť SDDL výberom iba jedného subjektu:

(A; OICI; FA ;;; S-1-5-21-2340243621-32346796122-2349433313-24109193)

- typ prístupu (Povoliť)

OICI - príznak dedičstva (OBJECT INHERIT + INTAHER CONTAINER INHERIT)

FA - typ povolenia (SDDL_FILE_ALL - všetko je povolené)

S-1-5-21-2340243621-32346796122-2349433313-24109193 - SID účtu alebo skupiny v doméne, pre ktorú sú nastavené povolenia. Ak chcete previesť identifikátor SID na názov účtu alebo skupiny, použite príkaz:

$ objSID = New-Object System.Security.Principal.SecurityIdentifier ("S-1-5-21-2340243621-32346796122-2349433313-24109193")
$ objUser = $ objSID.Translate ([System.Security.Principal.NTAccount])
$ objUser.Value

Alebo príkazy Get-ADUser - Identifikátor SID alebo Get-ADGroup - Identifikátor Identity

Dozvedeli sme sa teda, že užívateľ corp \ dvivan má práva na úplné riadenie tohto adresára.

Ak chcete automaticky nastaviť riešenia NTFS na objekty v tomto adresári v súlade s hodnotami uloženými v záložnom súbore, spustite príkaz:

icacls g: \ / restore veteran_ntfs_perms.txt / t / c

poznámka. Upozorňujeme, že pri importe povolení zo súboru je zadaná cesta k nadradenému priečinku, ale nie názov samotného adresára.

Na konci obnovenia povolení sa zobrazia aj štatistiky o počte spracovaných súborov..