Backup i przywracanie utraconych uprawnień Windows przy użyciu komendy icacls
Nie możesz uzyskać dostępu do własnych zasobów sieciowych? W zakładce „Zabezpieczenia” ustawień folderu nie widzisz wcześniej skonfigurowanych uprawnień lub pod przyciskiem „Zaawansowane” utracone zostały informacje o jego właścicielu? A może chcesz zapobiec takim sytuacjom w przyszłości, tworząc backup uznaniowych list kontroli dostępu (DACL) do udostępnionych na serwerze zasobów, którego dotąd nie wykonałeś? Spokojnie – nic straconego. Poniżej przedstawię skuteczne sposoby działania w obu przypadkach. Wskażę także narzędzia zewnętrzne, które mogą okazać się pomocne w najbardziej wymagających sytuacjach.
Backup uznaniowych list kontroli dostępu (DACL) wybranych katalogów:
Lepiej zapobiegać niż leczyć – ta zasada świetnie sprawdza się również w administracji zasobów sieciowych. Jeżeli stworzysz już swoją idealną strukturę uprawnień, warto także zadbać o wygenerowanie kopii zapasowej list kontroli dostępu. Dzięki temu możesz uniknąć wielu problemów w przyszłości – takich jak np. wymienione we wstępie artykułu. By tego dokonać, wystarczy wykonać krótką instrukcję przedstawioną poniżej, a powstały plik wynikowy przechować na wszelki wypadek.
- Na maszynie, z której chcesz zapisać uprawnienia otwórz Wiersz Poleceń CMD (z uprawnieniami administratora).
- W wierszu poleceń użyj komendy „icacls nazwa [/save plikacl]” (zmieniając pierwszą ścieżkę na pełną ścieżkę katalogu, którego uprawnienia chcesz zapisać oraz w drugiej ścieżce wskazując miejsce przeznaczenia pliku wynikowego z wygenerowaną listą uprawnień), np.:
icacls "Z:\Nazwa katalogu" /save "C:\backup\uprawnienia.txt" /t /c
Opis zastosowanych parametrów:
/t – wykonaj operację dla wszystkich plików i podkatalogów
/c – ignoruj błędy
UWAGA! Jeżeli ścieżka składa się tylko z litery dysku, nie wpisuj jej w cudzysłów.
Przywracanie uznaniowych list kontroli dostępu (DACL) do katalogów:
Doszło do działania, podczas którego w trakcie pracy z systemem Windows zniknęły wcześniej ustalone uprawnienia do katalogów lub utracone zostały informacje o ich właścicielu? A może zbyt wielu użytkowników miało nadane prawa „Pełnej kontroli” a podczas któregoś z zapisów coś poszło nie tak? Spokojnie – istnieje duża szansa, że obejdzie się bez przywracania pełnego backupu plików, a doprowadzenie środowiska do wcześniejszego stanu zajmie nie więcej niż 10 minut! O ile oczywiście posiadasz backup list kontroli dostępu do swoich katalogów lub przynajmniej kopię zapasową ich samych. Bo je posiadasz, prawda? Jeżeli tak, to od przywrócenia porządku w swojej infrastrukturze dzieli Cię tylko jedna komenda – a dokładniej:
- Na maszynie, na której chcesz przywrócić uprawnienia umieść wcześniej wygenerowany przy pomocy komendy icacls plik backupu uznaniowych list kontroli dostępu (DACL). Możesz to zrobić np. w katalogu „C:\backup\”.
- Otwórz Wiersz Poleceń CMD (z uprawnieniami administratora).
- W wierszu poleceń użyj komendy „icacls ścieżka [/restore plikacl]” (zmieniając pierwszą ścieżkę na pełną ścieżkę do katalogu lub partycji, gdzie znajduje się główny folder, dla którego chcesz zmienić uprawnienia oraz w drugiej ścieżce wskazując miejsce zapisanego wcześniej pliku z wygenerowaną listą uprawnień), np.:
icacls Z:\ /restore "C:\backup\uprawnienia.txt"
Jako pierwsza pozycja w zapisanym wcześniej pliku wynikowym wpisana zostaje nazwa katalogu, który został podany wykorzystując komendę /save. Polecenie /restore natomiast wymaga wskazania miejsca występowania tego katalogu, a nie samego katalogu – stąd ścieżka to „Z:\” a nie „Z:\Nazwa katalogu”, jak wcześniej.
UWAGA! Jeżeli ścieżka składa się tylko z litery dysku, nie wpisuj jej w cudzysłów.
Pobieranie uznaniowych list kontroli dostępu (DACL) z backupu Veeam Backup & Replication:
Jeżeli utraciliśmy zapisane listy kontroli dostępu, a nie chcemy przywracać pełnych backupów – ryzykując nadpisaniem aktualnych danych – nic straconego. Poniżej znajduje się krótka instrukcja, jak poradzić sobie z tym problemem, korzystając z kopii zapasowych wykonanych przy pomocy najpopularniejszego oprogramowania backupowego, czyli Veeam Backup & Replication. Podobna zasada działania sprawdzi się także w przypadku rozwiązań innych firm, które umożliwiają wirtualizację zawartości backupowanej przestrzeni dyskowej lub tworzą mirror plików na innej partycji.
- Uruchom „Veeam Backup & Replication Console”.
- Wejdź w zakładkę „Backups -> Disk”.
- Prawym przyciskiem myszy kliknij na liście backup ten, z którego chcesz pozyskać uprawnienia i wybierz „Restore guest files -> Microsoft Windows…”.

Screen: Daniel 'zoNE’ Gabryś - W zakładce „Restore Point” wybierz datę ostatniego zapisu (lub odpowiadającą okresowi, z którego uprawnienia chcesz odzyskać), przejdź przez następne zakładki wybierając „Next >”, po czym otwórz zawartość backupu przyciskiem „Browse”.
- Gdy uruchomi się okno „Backup Browser”, prawym przyciskiem myszy kliknij na katalog, którego uprawnienia chcesz przywrócić (wraz z podkatalogami) oraz z menu wybierz opcję „Explorer…”.

Screen: Daniel 'zoNE’ Gabryś - Z otwartego okna zamontowanego backupu skopiuj tymczasową ścieżkę katalogu (będzie to np. C:\VeeamFLR\Ścieżka katalogu\Nazwa katalogu).
- Na maszynie, na której posiadasz backupy, otwórz Wiersz Poleceń CMD (z uprawnieniami administratora).
- W wierszu poleceń użyj komendy „icacls nazwa [/save plikacl]” (zmieniając pierwszą ścieżkę na skopiowaną wcześniej z serwera ścieżkę do poszukiwanego w backupie folderu i w drugiej ścieżce wskazując miejsce przeznaczenia pliku wynikowego z wygenerowaną listą uprawnień), np.:
icacls "C:\VeeamFLR\Ścieżka katalogu\Nazwa katalogu" /save "C:\backup\uprawnienia.txt" /t /c
Opis zastosowanych parametrów:
/t – wykonaj operację dla wszystkich plików oraz podkatalogów
/c – ignoruj błędy
UWAGA! Jeżeli ścieżka składa się tylko z litery dysku, nie wpisuj jej w cudzysłów. - Plik uprawnienia.txt przenieś na maszynę, na której chcesz przywrócić uprawnienia do katalogów, a następnie wykonaj instrukcję punktu „Przywracanie uznaniowych list kontroli dostępu (DACL) do katalogów”.
Autor: Daniel 'zoNE’ Gabryś

