Jak ustawić lub zresetować uprawnienia NTFS pliku lub folderu za pomocą polecenia icacls

icalcs

w tym artykule dowiemy się, jak ustawić lub zresetować uprawnienia NTFS pliku lub folderu w systemie operacyjnym Windows, za pomocą polecenia icacls.

zdarza się, że w niektórych przypadkach możemy stracić z oczu uprawnienia do plików lub katalogów, a gdy próbujemy uzyskać dostęp do określonego pliku, nie mamy żadnego wyniku, ponieważ nie mamy do tego uprawnień.
albo być może będziemy musieli uruchomić oprogramowanie, które z powodu problemów z uprawnieniami nie działa tak, jak powinno.

możemy również potrzebować dostępu do pliku, który pochodzi ze starej kopii zapasowej lub innego komputera i dlatego został utworzony z innym użytkownikiem; nawet wtedy dostęp do niego nie będzie możliwy.

we wszystkich tych przypadkach z pomocą przychodzi polecenie Icacls.

co to jest Icacls?

Icacls jest zamiennikiem cacls (Change access Control Lists), narzędzia wiersza poleceń, które pozwala na wyświetlanie i wykonywanie niektórych operacji na ACL dla plików lub katalogów.

ACL (Access Control List) jest listą uprawnień dla obiektu systemu plików i określa, w jaki sposób jego bezpieczeństwo jest kontrolowane przez zarządzanie tym, kto i w jaki sposób można uzyskać do niego dostęp.

w rzeczywistości operacje na ACL nie są jedynymi możliwymi za pomocą tego narzędzia.
to, co czyni go potężnym narzędziem, to również możliwość wykonywania operacji tworzenia kopii zapasowych i przywracania plików lub katalogów w ACL lub wyszukiwania plików, które mają określonego użytkownika jako właściciela.
ponadto, w przypadku, gdy ACL jest uszkodzony lub zniszczony, za pomocą icacls można go przywrócić, resetując go i ustawiając domyślne uprawnienia lub dziedzicząc uprawnienia rodzica.

Icacls: funkcje resetowania i przyznawania

Resetuj

Icacls to natywne polecenie systemu Windows, które działa w systemach Windows Vista, Windows 7, Windows 8 i Windows 10.
wyobraź sobie, że mamy zewnętrzny dysk twardy, na którym zapisano badanie wykonane w 2018 roku i chcemy go odzyskać, ale nie mamy pełnej kontroli.

gdy tylko spróbujemy otworzyć folder, otrzymamy następujący komunikat alarmowy.

openfolder deny

jednym z rozwiązań jest użycie funkcji resetowania Icacls.
ale zwróć uwagę na następujące kroki.

otwórzmy Terminal poleceń w trybie administratora.

wiersz polecenia

przejdźmy do folderu i wpisz polecenie reset w następujący sposób:

 $> icacls * /t /q /c /reset

i znowu, będziemy mieli „Odmowa dostępu” jako odpowiedź.

reset i noaccess

musimy zatem najpierw stać się właścicielem folderu za pomocą polecenia takeown:

$> takeown / R / F *

takeown permission

klikając Tak, nastąpi reset ACL, a stan uprawnień będzie następujący:

advanced security settings

Grant

teraz wyobraź sobie, że znajdujesz się w następującej sytuacji:

inne zaawansowane ustawienia zabezpieczeń

tylko użytkownik o imieniu Peter ma dostęp do folderu, a my chcemy udzielić dotacji również użytkownikowi.

za pomocą poprzedniego polecenia możemy stać się właścicielem folderu

$> takeown / R / F *

, a następnie wpisać następujące polecenie:

$> icacls "E:\Study2018" /t /grant:F

w tym przypadku wstawiłem opcje / t, co oznacza rekurencję, A F oznacza „Pełny Dostęp” dla użytkownika, któremu chcemy udzielić dotacji.

uzyskaj pełny dostęp

aby uzyskać więcej opcji, zobacz oficjalną stronę.

inne funkcje icacls

jeśli chcesz zapisać ACLs w pliku w celu późniejszego przywrócenia, możesz to zrobić za pomocą kilku poleceń „Zapisz i przywróć”.
bardzo prosta operacja z punktu widzenia: informacje o ACL są zapisywane w pliku, który może być użyty w przypadku potrzeby przywrócenia poprzedniej sytuacji.
należy jednak zauważyć, że dane dotyczące praw dostępu, zwłaszcza w folderach udostępnionych, mogą być bardzo zmienne w czasie.
wtedy moglibyśmy znaleźć się w sytuacji, w której zamierzamy przywrócić sytuację odmienną od rzeczywistości, a nawet niespójną.
co Więcej, plik, który jest tworzony, otwierany i czytelny za pomocą wspólnego edytora tekstu, wydaje się być tekstem Unicode.
ale uważaj, bo tak nie jest.

Otwórz plik i zapisz go z pewnymi zmianami, które sprawią, że będzie on bezużyteczny w operacjach przywracania.

kilka poleceń „Zapisz i przywróć” wygląda następująco:

icacls FILE_O_DIRECTORY /save aclfile /t

icacls DIRECTORY /Przywróć aclfile

od razu zauważysz różnicę między tymi dwoma poleceniami.

polecenie Zapisz może być wykonane zarówno w pliku, jak i w katalogach (FILE_O_O_DIRECTORY należy zastąpić nazwą pliku lub katalogu, dla którego chcemy zapisać ACL).

podczas gdy polecenie restore działa tylko na katalogach.

przykład użycia jest następujący:

E:\> icacls filediprova.txt /save aclfile /t
E:\>icacls . /restore aclfile

jak widać, w przypadku polecenia restore nie użyjemy filediprova.txt, ale katalog, w którym się znajduje.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.