Prawa dostępu
- Sebastian Górski,
- 02.11.2004, godz. 20:45
Jak z poziomu linii poleceń trybu tekstowego w Windows 2000 i Windows XP zarządzać prawami dostępu do zasobów?
Sterowanie prawami dostępu jest możliwe przy użyciu narzędzia CACLS.EXE. W Windows XP Home Edition można go używać bez przechodzenia do trybu awaryjnego.
CACLS.EXE działa, co prawda, w trybie tekstowym, jednak pozwala szybciej uzyskiwać żądany efekt niż poprzez okna i karty w graficznym interfejsie Windows. Jego obsługa nie jest wcale skomplikowana. Weźmy za przykład proste zdefiniowanie praw dostępu, jakim jest odebranie wszystkim użytkownikom praw odczytu i zapisu określonego pliku lub w określonym folderze tak, aby stać się jedyną osobą dysponującą wymienionymi uprawnieniami. Na karcie Zabezpieczenia trzeba usunąć wszystkich użytkowników i wszystkie grupy z listy i przydzielić sobie atrybut Pełna kontrola. Tymczasem CACLS.EXE załatwi to jednym poleceniem:
cacls <folder> /g %username%:f
Jeśli chcemy umieścić takie polecenie w pliku wsadowym, aby szybko i wygodnie zmieniać prawa dostępu, uzupełniamy zbiór potwierdzeniem. Tworzymy plik wsadowy z dwoma poniższymi poleceniami:
@echo off
echo t|cacls %1 /g %username%:f
Ten plik wsadowy - nazwijmy go ZABIERZ_PRAWA.BAT - przejmuje podaną nazwę pliku lub folderu za pomocą parametru %1 i zapewnia bieżącemu użytkownikowi jako jedynemu pełny dostęp do określonego zasobu. Nie musimy nawet wprowadzać zmian w powyższych poleceniach, bo zmiennej środowiskowej %username% jest zawsze przyporządkowana nazwa użytkownika w danej chwili zalogowanego w systemie.
Sporządzony plik wsadowy zapisujemy w folderze %userprofile%\SENDTO. Od tej pory będzie dostępny z poziomu polecenia Wyślij do w menu podręcznym wszystkich folderów i plików. Gdy klikniemy dowolny plik lub folder prawym przyciskiem myszy i wskażemy polecenie Wyślij do | zabierz_prawa.bat, będziemy mieli jako jedyni dostęp do tego zasobu.
Możemy jednak utworzyć plik wsadowy do przydzielania wszystkim użytkownikom praw dostępu do danego zasobu. Uzyskamy ten efekt za pomocą poleceń:
@echo off
echo t|cacls %1 /g wszyscy:f
Gotowy plik kopiujemy najlepiej do folderu %userprofile%\SENDTO. Wówczas będziemy mogli przywoływać go równie wygodnie, jak poprzedni.