Shranjevanje in obnavljanje dovoljenj NTFS z uporabo ICACLS

Upravljanje dovoljenj NTFS v mapah datotečnega strežnika je včasih lahko dolgočasna naloga. Nenamerne spremembe na zgornji (korenski) ravni imenika lahko privedejo do nepričakovanih rezultatov, ko se posamezna dovoljenja za datoteke in imenike nižje stopnje prisilno spremenijo. Pred bistveno spremembo dovoljenj (prenos, posodabljanje ACL-jev, migracija virov) v mapi NTFS (omrežni delež) je priporočljivo imeti pri roki varnostno kopijo starih dovoljenj, ki vam bo omogočilo vrnitev k prvotnim nastavitvam ali vsaj razjasnitev starih pravic dostopa do določene datoteke ali imenika.

Za izvoz / uvoz trenutnih dovoljenj imenika NTFS lahko uporabite pripomoček icacls, ki je vključen v sistem Windows. Program se uporablja za pridobivanje in spreminjanje seznamov za nadzor dostopa (ACL) za datotečne sistemske predmete.

Če želite dobiti vse ACL-je za določeno mapo in podmape in datoteke ter jih shraniti v besedilno datoteko, morate zagnati ukaz

icacls g: \ veteran / save veteran_ntfs_perms.txt / t / c
Datoteka z dovoljenji je privzeto shranjena v trenutni uporabniški mapi.

Opomba. Stikalo / t pomeni, da morate dobiti ACL za vse podrejene podimenike in datoteke, stikalo / c vam omogoča, da prezrete napake pri dostopu. Če dodate stikalo / q, lahko onemogočite prikaz informacij o uspešnih dejanjih pri dostopu do predmetov datotečnega sistema.

Postopek izvoza dovoljenj lahko traja kar nekaj časa, odvisno od števila datotek in map. Po zaključku ukaza bodo prikazane statistike o številu obdelanih in preskočenih datotek..

3001 datotek je bilo uspešno obdelanih; Ni bilo mogoče obdelati 0 datotek

Odprite datoteko veteran_ntfs_perms.txt s katerim koli urejevalnikom besedil. Kot lahko vidite, vsebuje celoten seznam map in datotek v imeniku, vsa trenutna dovoljenja pa so navedena v obliki SDDL (Jezik definicije varnostnega deskriptorja).

Na primer, trenutna dovoljenja NTFS v korenu mape so naslednja:

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

Ta vrstica opisuje dostop za več skupin ali uporabnikov. V sintaksi SDDL se ne bomo podrobneje poglabljali (če želite, pomoč pri tem najdete na MSDN). Na primer, bomo analizirali majhen delček SDDL, tako da bomo izbrali samo en predmet:

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

A - vrsta dostopa (dovoli)

Oici - zastava dedovanja (PREDMET INHERITA KONTEJNERA)

FA - vrsta dovoljenja (SDDL_FILE_ALL - vse je dovoljeno)

S-1-5-21-2340243621-32346796122-2349433313-24109193 - SID računa ali skupine v domeni, za katero so nastavljena dovoljenja. Če želite pretvoriti SID v ime računa ali skupine, uporabite ukaz:

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

Ali ukaze Get-ADUser -Identity SID ali Get-ADGroup -Identity SID

Tako smo izvedeli, da ima uporabnik corp \ dvivan v tem imeniku pravice popolnega nadzora.

Če želite samodejno nastaviti rešitve NTFS na predmete v tem imeniku v skladu z vrednostmi, shranjenimi v varnostni kopiji, zaženite ukaz:

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

Opomba. Upoštevajte, da je pri uvozu dovoljenj iz datoteke podana pot do nadrejene mape, ne pa tudi imena samega imenika.

Na koncu obnovitve dovoljenj bodo prikazane tudi statistike o številu obdelanih datotek..