Zarządzanie uprawnieniami NTFS w folderach serwera plików może czasem być żmudnym zadaniem. Nieostrożne zmiany na najwyższym (głównym) poziomie katalogu mogą prowadzić do nieoczekiwanych rezultatów, gdy indywidualne uprawnienia do plików i katalogów niższego poziomu zostaną wymuszone. Przed znaczącą zmianą uprawnień (portowanie, aktualizowanie list ACL, migracja zasobów) w folderze NTFS (udział sieciowy) zaleca się wykonanie kopii zapasowej starych uprawnień, co pozwoli powrócić do pierwotnych ustawień lub przynajmniej wyjaśnić stare prawa dostępu do określonego pliku lub katalogu.
Aby wyeksportować / zaimportować bieżące uprawnienia do katalogu NTFS, możesz użyć narzędzia icacls, który jest dołączony do systemu Windows. Narzędzie służy do uzyskiwania i modyfikowania list kontroli dostępu (ACL) do obiektów systemu plików.
Aby uzyskać wszystkie listy ACL dla określonego folderu oraz podkatalogów i plików i zapisać je w pliku tekstowym, musisz uruchomić polecenie
icacls g: \eteran / save veteran_ntfs_perms.txt / t / c
Plik z uprawnieniami jest domyślnie zapisywany w bieżącym folderze użytkownika.
W zależności od liczby plików i folderów proces eksportowania uprawnień może potrwać dość długo. Po zakończeniu polecenia zostaną wyświetlone statystyki dotyczące liczby przetworzonych i pominiętych plików..
Pomyślnie przetworzono 3001 plików; Przetwarzanie 0 plików nie powiodło się
Otwórz plik veteran_ntfs_perms.txt za pomocą dowolnego edytora tekstu. Jak widać, zawiera pełną listę folderów i plików w katalogu, a dla każdego bieżącego uprawnienia są wskazane w formacie SDDL (Język definicji deskryptorów zabezpieczeń).
Na przykład bieżące uprawnienia NTFS do katalogu głównego folderu są następujące:
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: AITa linia opisuje dostęp dla kilku grup lub użytkowników. Nie zagłębimy się szczegółowo w składnię SDDL (jeśli chcesz, pomoc na ten temat można znaleźć w MSDN). Na przykład przeanalizujemy mały fragment SDDL, wybierając tylko jeden temat:
(A; OICI; FA ;;; S-1-5-21-2340243621-32346796122-2349433313-24109193)
A - rodzaj dostępu (Zezwól)
Oici - flaga dziedziczenia (OBIEKT INHERIT + CONTAINER INHERIT)
FA - typ uprawnienia (SDDL_FILE_ALL - wszystko jest dozwolone)
S-1-5-21-2340243621-32346796122-2349433313-24109193 - Identyfikator SID konta lub grupy w domenie, dla której ustawiono uprawnienia. Aby przekonwertować identyfikator SID na nazwę konta lub grupy, użyj polecenia:
$ objSID = New-Object System.Security.Principal.SecurityIdentifier („S-1-5-21-2340243621-32346796122-2349433313-24109193”)
$ objUser = $ objSID.Translate ([System.Security.Principal.NTAccount])
$ objUser.Value
Lub polecenia Get-ADUser -Identity SID lub Get-ADGroup -Identity SID
W ten sposób dowiedzieliśmy się, że użytkownik corp \ dvivan ma uprawnienia do pełnej kontroli tego katalogu.
Aby automatycznie ustawić rozwiązania NTFS dla obiektów w tym katalogu zgodnie z wartościami zapisanymi w pliku kopii zapasowej, uruchom polecenie:
icacls g: \ / restore veteran_ntfs_perms.txt / t / c
Po zakończeniu przywracania uprawnień zostaną wyświetlone statystyki dotyczące liczby przetworzonych plików..