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.
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: AITento řá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
Na konci obnovení oprávnění se také zobrazí statistika počtu zpracovaných souborů..