NTFS engedélyek mentése és visszaállítása az ICACLS használatával

Az NTFS engedélyek kezelése a fájlkiszolgálói mappákban néha fárasztó feladat lehet. A könyvtár felső (gyökér) szintjén végzett gondatlan változások váratlan eredményekhez vezethetnek, ha az alacsonyabb szintű fájlok és a könyvtárak egyedi engedélyeit erőszakkal módosítják. Mielőtt az NTFS mappában (engedélyek hordozása, ACL-ek frissítése, erőforrás-migráció) jelentősen megváltozna, javasoljuk, hogy készítsen biztonsági másolatot a régi engedélyekről, amelyek lehetővé teszik az eredeti beállítások visszatérését vagy legalább egyértelművé tételét egy adott fájlhoz vagy könyvtárhoz a régi hozzáférési jogokhoz..

A jelenlegi NTFS könyvtári engedélyek exportálásához / importálásához használhatja a segédprogramot icacls, amelyet a Windows tartalmaz. A segédprogramot hozzáférési vezérlő listák (ACL) beszerzésére és módosítására használják a rendszerobjektumok fájljaihoz.

Egy adott mappa, alkönyvtárak és fájlok összes ACL-jének beolvasásához és szöveges fájlba mentéséhez el kell futtatnia a parancsot

icacls g: \ veterán / mentés veteran_ntfs_perms.txt / t / c
Az engedélyekkel ellátott fájlt alapértelmezés szerint az aktuális felhasználói mappába menti.

megjegyzés. A / t kapcsoló azt jelzi, hogy ACL-t kell szereznie minden gyermek alkönyvtárhoz és fájlhoz, a / c kapcsoló lehetővé teszi a hozzáférési hibák figyelmen kívül hagyását. A / q kapcsoló hozzáadásával letilthatja a sikeres műveletekre vonatkozó információk megjelenítését a fájlrendszer-objektumok elérésekor.

A fájlok és mappák számától függően az engedélyek exportálásának folyamata sokáig tarthat. A parancs befejezése után megjelenik a feldolgozott és kihagyott fájlok számának statisztikája..

3001 fájl sikeresen feldolgozott; 0 fájl feldolgozása sikertelen

Nyissa meg a veteran_ntfs_perms.txt fájlt bármilyen szövegszerkesztővel. Mint láthatja, a mappák és fájlok teljes listáját tartalmazza a könyvtárban, és minden jelenlegi engedélyre a következő formátumban van feltüntetve: SDDL (Biztonsági leíró meghatározási nyelv).

Például a jelenlegi NTFS engedélyek a mappa gyökérén a következők:

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

Ez a sor több csoport vagy felhasználó hozzáférését írja le. Nem fogunk alaposan belemerülni az SDDL szintaxisába (ha szeretné, segítségre találhat az MSDN webhelyen). Például egy SDDL kis darabot elemezünk, ha csak egy tárgyat választunk ki:

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

A - hozzáférés típusa (Engedélyezés)

OICI - öröklési zászló (TÁRGY INHERIT + KONTÉNER INHERIT)

FA - engedély típusa (SDDL_FILE_ALL - minden megengedett)

S-1-5-21-2340243621-32346796122-2349433313-24109193 - A domain azon fiókjának vagy csoportjának SID-je, amelyre engedélyeket állítottak be. Az SID számla vagy csoport nevévé történő konvertálásához használja a következő parancsot:

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

Vagy parancsok a Get-ADUser -Identity SID vagy a Get-ADGroup -Identity SID

Így megtudtuk, hogy a corp \ dvivan felhasználó teljes ellenőrzési jogokkal rendelkezik erre a könyvtárra.

Az NTFS megoldások automatikus beállításához az ebben a könyvtárban található objektumokhoz, a biztonsági mentési fájlban tárolt értékeknek megfelelően, futtassa a következő parancsot:

icacls g: \ / Veteran_ntfs_perms.txt / t / c visszaállítása

megjegyzés. Felhívjuk figyelmét, hogy amikor engedélyeket importál egy fájlból, a szülő mappa elérési útját adja meg, de nem maga a könyvtár nevét.

Az engedély helyreállítása végén a feldolgozott fájlok számának statisztikája is megjelenik..