Spremanje i vraćanje NTFS dozvola pomoću ICACLS

Upravljanje dozvolama NTFS na mapama poslužitelja datoteka ponekad može biti mučan zadatak. Nenamjerne promjene na gornjoj (korijenskoj) razini direktorija mogu dovesti do neočekivanih rezultata kada se pojedinačna dopuštenja za datoteke i direktorije niže razine prisilno promijene. Prije značajne promjene u dozvolama (prijenos, ažuriranje ACL-ova, migracija resursa) u NTFS mapi (mrežni udjel), preporučljivo je imati pri ruci sigurnosnu kopiju starih dozvola, što će vam omogućiti povratak na izvorne postavke ili barem razjašnjenje starih prava pristupa određenoj datoteci ili mapi.

Za izvoz / uvoz trenutačnih dozvola direktorija NTFS možete koristiti uslužni program icacls, koja je uključena u sustav Windows. Ovaj uslužni program koristi se za dobivanje i izmjenu popisa kontrole pristupa (ACL-ova) u datoteke objekata sustava.

Da biste dobili sve ACL-ove za određenu mapu i poddirektoriju i datoteke i spremili ih u tekstualnu datoteku, trebate pokrenuti naredbu

icacls g: \ veteran / save veteran_ntfs_perms.txt / t / c
Datoteka s dozvolama zadano se sprema u trenutnu korisničku mapu.

primjedba. Prekidač / t pokazuje da trebate dobiti ACL za sve podređene poddirektorije i datoteke, prekidač / c omogućava zanemarivanje pogrešaka u pristupu. Dodavanjem prekidača / q možete onemogućiti prikaz informacija o uspješnim radnjama prilikom pristupa objektima datotečnog sustava.

Ovisno o broju datoteka i mapa, proces izvoza dozvola može potrajati dosta vremena. Nakon dovršetka naredbe prikazat će se statistika o broju obrađenih i preskočenih datoteka..

3001 datoteka uspješno je obrađena; Obrada 0 datoteka nije uspjela

Otvorite datoteku veteran_ntfs_perms.txt pomoću bilo kojeg uređivača teksta. Kao što vidite, sadrži potpuni popis mapa i datoteka u direktoriju, a za sva trenutna dopuštenja navedena su u formatu SDDL (Jezik definicije sigurnosnog deskriptora).

Na primjer, trenutna dopuštenja NTFS u korijenu mape su sljedeća:

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

Ovaj redak opisuje pristup za nekoliko grupa ili korisnika. Nećemo detaljno propadati u SDDL sintaksi (ako želite, pomoć u vezi s tim možete pronaći na MSDN-u). Na primjer, analizirat ćemo mali dio SDDL-a odabirom samo jednog predmeta:

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

- vrsta pristupa (Dopusti)

OICI - zastava nasljeđivanja (PREDMET INHERITA + KONTINERSKI INHERIT)

FA - vrsta dozvole (SDDL_FILE_ALL - sve je dopušteno)

S-1-5-21-2340243621-32346796122-2349433313-24109193 - SID računa ili grupe u domeni za koju su postavljena dopuštenja. Da biste SID pretvorili u ime računa ili grupe, upotrijebite naredbu:

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

Ili naredbe Get-ADUser -Identity SID ili Get-ADGroup -Identity SID

Tako smo saznali da je korisnik corp \ dvivan imao prava potpune kontrole na ovu mapu.

Da biste automatski postavili NTFS rješenja na objekte u ovom direktoriju u skladu s vrijednostima pohranjenim u datoteci sigurnosne kopije, pokrenite naredbu:

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

primjedba. Imajte na umu da je prilikom uvoza dozvola iz datoteke naveden put do roditeljske mape, ali ne i naziv same mape.

Na kraju obnove dozvola bit će prikazane i statistike o broju obrađenih datoteka..