Ukládání a obnova oprávnění NTFS pomocí ICACLS

Správa oprávnění NTFS ve složkách souborového serveru může být někdy únavná úloha. Neúmyslné změny na nejvyšší (kořenové) úrovni adresáře mohou vést k neočekávaným výsledkům, když jsou jednotlivá oprávnění k souborům a adresářům nižší úrovně násilně změněna. Před významnou změnou oprávnění (přenesení, aktualizace seznamů ACL, migrace prostředků) ve složce NTFS (síťové sdílení) je vhodné mít po ruce zálohu starých oprávnění, která vám umožní vrátit se k původnímu nastavení nebo alespoň vyjasnit stará přístupová práva ke konkrétnímu souboru nebo adresáři..

Chcete-li exportovat / importovat aktuální oprávnění adresáře NTFS, můžete použít tento nástroj icacls, který je součástí systému Windows. Tento nástroj se používá k získání a úpravě seznamů řízení přístupu (ACL) k souborovým systémovým objektům.

Chcete-li získat všechny ACL pro konkrétní složku a podadresáře a soubory a uložit je do textového souboru, musíte spustit příkaz

icacls g: \ veteran / save veteran_ntfs_perms.txt / t / c
Soubor s oprávněními je ve výchozím nastavení uložen v aktuální uživatelské složce.

Poznámka:. Přepínač / t označuje, že musíte získat seznam ACL pro všechny podřízené adresáře a soubory, přepínač / c umožňuje ignorovat chyby přístupu. Přidáním přepínače / q můžete zakázat zobrazování informací o úspěšných akcích při přístupu k objektům systému souborů.

V závislosti na počtu souborů a složek může proces exportu oprávnění chvíli trvat. Po dokončení příkazu se zobrazí statistika počtu zpracovaných a přeskočených souborů..

Úspěšně zpracováno 3001 souborů; Zpracování 0 souborů se nezdařilo

Otevřete soubor veteran_ntfs_perms.txt pomocí libovolného textového editoru. Jak vidíte, obsahuje kompletní seznam složek a souborů v adresáři a pro všechna aktuální oprávnění jsou uvedena ve formátu SDDL (Definiční jazyk popisovače zabezpečení).

Například aktuální oprávnění NTFS v kořenovém adresáři složky jsou následující:

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 řádek popisuje přístup pro několik skupin nebo uživatelů. Nebudeme se podrobně zabývat syntaxí SDDL (pokud si přejete, nápovědu najdete v MSDN). Například budeme analyzovat malou část SDDL výběrem pouze jednoho předmětu:

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

A - typ přístupu (Povolit)

Oici - příznak dědičnosti (OBJECT INHERIT + CONTAINER INHERIT)

FA - typ oprávnění (SDDL_FILE_ALL - vše je povoleno)

S-1-5-21-2340243621-32346796122-2349433313-24109193 - SID účtu nebo skupiny v doméně, pro kterou jsou nastavena oprávnění. Chcete-li převést SID na název účtu nebo skupiny, použijte pří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

Nebo příkazy Get-ADUser - Identita SID nebo Get-ADGroup - Identita SID

Dozvěděli jsme se tedy, že uživatel corp \ dvivan má k tomuto adresáři oprávnění Úplné řízení.

Chcete-li automaticky nastavit řešení NTFS na objekty v tomto adresáři v souladu s hodnotami uloženými v záložním souboru, spusťte příkaz:

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

Poznámka:. Upozorňujeme, že při importu oprávnění ze souboru je zadána cesta k nadřazené složce, nikoli však název samotného adresáře.

Na konci obnovení oprávnění se také zobrazí statistika počtu zpracovaných souborů..