Czasami, aby zmienić coś w rejestrze (wykonać poprawkę lub po prostu wprowadzić potrzebną zmianę), najpierw trzeba uzyskać dostęp do gałęzi / klucza rejestru. Wydaje się, że nie jest to problem dla administratora. Niuans polega na tym, że nawet administrator nie może wprowadzać zmian w niektórych gałęziach rejestru systemu Windows. Dostęp do takich oddziałów jest ograniczony przez listy ACL, w których albo nie ma uprawnień do zapisu dla grupy lokalnych administratorów, albo TrustedInstaller lub System są przypisani jako właściciele takich sekcji. W tym przewodniku pokażemy kilka prostych sposobów nadania administratorowi praw właściciela i pełnych praw do chronionego klucza rejestru..
Nie będziemy rozważać graficznej metody zmiany właściciela i przypisywania uprawnień za pomocą narzędzia regedit.exe oraz rozważania możliwości zmiany własności dowolnego klucza rejestru i zapewnienia dostępu z linii poleceń. Wszystkie opisane poniżej metody działają we wszystkich wersjach systemu Windows.!
Treść
- Uzyskiwanie praw właściciela do klucza rejestru za pomocą narzędzia SubInACL
- Zmiana własności i praw do klucza rejestru za pomocą narzędzia SetACL
- Uzyskiwanie praw właściciela do klucza rejestru za pomocą wbudowanego polecenia REGINI
- Przykład użycia
Uzyskiwanie praw właściciela do klucza rejestru za pomocą narzędzia SubInACL
Subinakl - Jest to oficjalne narzędzie firmy Microsoft, którego można używać do przeglądania i zmiany uprawnień, właściciela i bezpieczeństwa itp. dla plików, folderów, kluczy rejestru, usług itp. w systemie Windows .
Narzędzie zostało napisane dla systemów Windows 2000, XP i Server 2003, jednak można go używać ze wszystkimi nowymi wersjami systemu Windows.
KROK 1:
Pobierz narzędzie ze strony Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=23510
KROK 2:
Jest to standardowy instalator MSI, który kopiuje plik SubInACL.exe do folderu „C: \ Program Files (x86) \ Windows Resource Kits \ Tools \” w systemie Windows x64 oraz do folderu „C: \ Program Files \ Windows Resource Kits \ Tools \” w systemie Windows x86.
Ale nikt nie przeszkadza, aby po prostu rozpakować plik MSI (na przykład za pomocą 7-Zip) w dowolnym miejscu bez potrzeby jego instalowania.
KROK 3:
Możesz wybrać sposób uruchomienia SubInACL.exe. Z miejsca instalacji (cd C: \ Program Files (x86) \ Windows Resource Kits \ Tools) lub z miejsca, w którym sam ją rozpakowałeś, przynajmniej z dysku flash 🙂. Lub możesz skopiować SubInACL.exe do folderu C: \Windows\System32 a potem zacznie się od nazwy. Zalecamy skopiowanie pliku subinacl.exe do folderu C: \ Windows \ System32 (C: \ Windows \ SysWOW64), aby można było uruchomić SubInACL z dowolnego dogodnego miejsca.
KROK 4:
Nauczmy się, jak pracować z SubInACL.exe. Składnia narzędzia (w wierszu polecenia z uprawnieniami administratora):
SubInACL / type name / action
/typ: Wskaż żądany typ obiektu. Jeśli chcesz zmienić właściciela pliku lub folderu, użyj plik, a jeśli musisz zmienić właściciela klucza rejestru, użyj keyreg lub subkeyreg. Różnica między keyreg a subkeyreg jest taka keyreg zmienia właściciela tylko określonego klucza, oraz subkeyreg zmienia właściciela tego klucza i wszystkich kluczy podrzędnych.
imię: Zastąp ten parametr nazwą pliku, folderu lub klucza rejestru.
/akcja: Ten parametr określa akcję, która zostanie wykonana na obiekcie. Skoro zamierzamy zmienić właściciela klucza i prawa do klucza, skorzystamy z niego /Setowner=administratorzy /przyznać=administratorzy=f jako akcja.
Patrzymy na przykład.
SUBINACL / keyreg "HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla" / setowner = Administratorzy / grant = Administrators = f
To polecenie oznacza, że właściciel tego klucza zmienia się, a Administrator otrzymuje pełne uprawnienia do zarządzania tym kluczem.
Musisz zastąpić nazwę klucza z przykładu własnym i uruchomić polecenie ...
PS: Jeśli chcesz przejrzeć całą dostępną składnię, klucze i parametry polecenia SubInACL, uruchom z takim kluczem Subinakl /pomocZmiana własności i praw do klucza rejestru za pomocą narzędzia SetACL
Setacl to darmowe narzędzie do konsoli. Musisz pobrać program, a następnie uruchomić niezbędne polecenia.
KROK 1:
Pobierz program SetACL: https://helgeklein.com/download/#setacl
KROK 2:
Po pobraniu rozpakuj plik ZIP i zobacz dwie wersje narzędzia: dla wersji x86 i x64 dla systemu Windows. Musisz użyć prawidłowego pliku SetACL.EXE dla swojej wersji systemu Windows. Sprawdź, która wersja systemu Windows jest dostępna we Właściwościach systemu.
KROK 3:
Istnieją dwa sposoby korzystania z aplikacji. Na przykład możesz zapisać narzędzie w folderze E: \ SetACL, a następnie otworzyć wiersz polecenia jako administrator i przejść do tego folderu za pomocą standardowych poleceń lub wprowadzić pełną ścieżkę, aby uruchomić narzędzie, na przykład E: \ SetACL \ SetACL.exe. Lub możesz skopiować SetACL.exe do folderu systemowego C.: \Windows\System32 (C: \ Windows \ SysWOW64), a następnie można uruchomić polecenie SetACL z dowolnego miejsca. Sugerujemy skopiowanie pliku EXE do folderu C: \ Windows \ System32 (C: \ Windows \ SysWOW64).
KROK 4:
Po zakończeniu wszystkich procedur wstępnych możesz uruchomić SetACL:
SetACL -on imię -ot typ -akt akcja
Składnia:
Co jest wyróżnione pogrubienie pozostaje niezmieniony, co jest podświetlone kursywą zmienimy:
-na: Ten parametr wskazuje pełną ścieżkę do pliku lub klucza rejestru, którego właściciela chcesz zmienić.
-ot: Ten parametr określa typ obiektu. Jeśli zmienimy właściciela pliku, zmienimy parametr na plik. Jeśli klucz rejestru, to określ reg
-akt: Ten parametr wskazuje, co robić. Istnieje wiele możliwych opcji, ale ponieważ mówimy o kluczach rejestru, w szczególności o zmianie właściciela lub przypisaniu innych praw do klucza, będziemy używać tylko wartości Setowner lub as.
Aby lepiej zrozumieć, jak to działa, zobacz przykład:
Załóżmy, że chcesz zmienić właściciela klucza HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla. Aby to zrobić, musimy uruchomić SetACL z następującymi parametrami:
SetACL.exe -on „HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla” -ot reg -actn setowner -ownr „n: Administrators”
SetACL.exe -on „HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla” -ot reg -actn ace -ace "n: Administrators; p: full"
Pierwsze polecenie sprawi, że grupa lokalnych administratorów stanie się właścicielem klucza, a drugie zapewni pełny dostęp do klucza.
Musisz tylko zmienić kluczową wartość między znakami cudzysłowu („”) na potrzebny.
Uwaga: SetACL ma wiele parametrów, ale sam przeczytaj o tym tutaj (https://helgeklein.com/setacl/documentation/command-line-version-setacl-exe/).Uzyskiwanie praw właściciela do klucza rejestru za pomocą wbudowanego polecenia REGINI
To polecenie jest dołączone do dowolnego systemu Windows i możemy go użyć do przypisania uprawnień do kluczy rejestru. Korzystanie z polecenia jest bardzo proste. Tworzymy plik skryptu z niezbędnymi parametrami i przekazujemy ten plik do przetworzenia do polecenia REGINI.
KROK 1:
Otwórz Notatnik (Notatnik) i wprowadź nazwę wymaganego klucza i listy kontroli dostępu (ACL) przy użyciu tego formatu:
Nazwa_klucza [ACL]
Zmień Klucz_imię nazwa klucza, której potrzebujesz, ale sprawdź, czy nazwa klucza jest poprawna, jak pokazano poniżej:
\ Rejestr \ maszyna \ oprogramowanie \ klasy (dla kluczy sekcji HKEY_CLASSES_ROOT)
\ Registry \ machine (dla kluczy w sekcji HKEY_LOCAL_MACHINE)
\ Registry \ użytkownik \ identyfikator_użytkownika (dla kluczy w sekcji HKEY_CURRENT_USER) (zamień identyfikator_użytkownika do prawidłowego identyfikatora bezpieczeństwa tego użytkownika)
\ Registry \ użytkownik (dla kluczy w sekcji HKEY_USERS)
Na przykład spójrzmy na klucz „HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla” i napisz skrypt:
\ Registry \ machine \ SOFTWARE \ Mozilla
Wymień ACL do tych, których potrzebujemy lista:
1 | (aby zapewnić administratorom pełny dostęp) | Daj administratorom pełny dostęp |
2) | (aby zapewnić administratorom dostęp do odczytu) | Daj administratorom dostęp tylko do odczytu |
3) | (aby zapewnić administratorom dostęp do odczytu i zapisu) | Daj administratorom prawo do zmiany |
4 | (aby zapewnić administratorom dostęp do odczytu, zapisu i usuwania) | Daj administratorom prawo do zmiany i usunięcia |
5 | (aby zapewnić twórcy / właścicielowi pełny dostęp) | Daj twórcy / właścicielowi pełny dostęp |
6 | (aby zapewnić twórcy / właścicielowi dostęp do odczytu i zapisu) | Daj twórcy / właścicielowi dostęp do zmiany |
7 | (aby zapewnić wszystkim pełny dostęp) | Daj wszystkim pełny dostęp |
8 | (aby zapewnić wszystkim dostęp do odczytu) | Daj wszystkim dostęp tylko do odczytu |
9 | (aby zapewnić wszystkim dostęp do odczytu i zapisu) | Daj wszystkim prawo do zmiany |
10 | (aby zapewnić wszystkim dostęp do odczytu, zapisu i usuwania) | Daj wszystkim prawo do zmiany i usunięcia |
17 | (w celu zapewnienia pełnego dostępu do systemu) | Daj systemowi pełny dostęp |
18 | (w celu zapewnienia dostępu do odczytu i zapisu systemu) | Daj systemowi prawo do zmiany |
19 | (w celu zapewnienia dostępu do odczytu systemu) | Daj systemowi dostęp tylko do odczytu |
Teraz [ACL] w skrypcie zostanie zainstalowany coś takiego:
[1 6 9 17]
Jak pokazano w tabeli, daje to pełny dostęp do Administratorów i Systemu, a także prawo do zmiany twórcy klucza i wszystkiego innego.
Ostatnia linia będzie wyglądać następująco:
\ Registry \ machine \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla [1 6 9 17]
Możesz użyć dowolnych kombinacji ACL według potrzeb.
Uwaga: Pamiętaj, że istniejące uprawnienia do klucza określonego w skrypcie zostaną zastąpione nowymi. Nie zapomnij dołączyć uprawnień do wszystkich kont w skrypcie. Jeśli zapomnisz przyznać uprawnienia do konta SYSTEM, to konto zostanie usunięte z listy dostępu.KROK 2:
Zapisujemy skrypt pod nazwą ACL.TXT, a następnie otwieramy wiersz poleceń jako administrator i uruchamiamy nasze polecenie:
REGINI pełna_ścieżka_pliku_skryptu
Lub w naszym przypadku będzie to wyglądać tak
REGINI c: \ install \ acl.txt
I to wszystko. Uprawnienia zostaną natychmiast zmienione..
Coś takiego. Metoda 1 jest najbardziej skuteczna i działa w 100%.
Przykład użycia
Konieczne było uruchomienie Remote Desktop Host, aby zapewnić grupie programistów wspólny dostęp do serwera w celu skonfigurowania niektórych aplikacji i bazy danych. W przyszłości nie planowano zdalnego dostępu do tego serwera. Było więcej niż 2 programistów i wszyscy chcieli pracować jednocześnie. I obiecał, że skończy za mniej niż 4 miesiące.
Nie wcześniej powiedziane niż zrobione. Host pulpitu zdalnego w systemie Windows 2012 R2 został podniesiony i zaczęliśmy korzystać ze 120-dniowego bezpłatnego okresu. Ale ... 4 miesiące to za mało (jak zawsze). Nie chciałem używać legalnego klucza do TS, ponieważ praca jest tymczasowa, jak powiedziałem wcześniej. Musiałem ... skorzystać z wiedzy, którą właśnie zdobyłeś.
Klucz rejestru odpowiedzialny za liczenie 120-dniowego okresu karencji znajduje się tutaj:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ RCM \ GracePeriod
Grupa Administratorzy ma dostęp tylko do odczytu do tego klucza..
Zastosowano metodę 1. Można powiedzieć, że sami Microsoft ukarali się :)
SUBINACL / keyreg "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ RCM \ GracePeriod" / setowner = administrators / grant = administrators = f
Zmienił właściciela i dał pełny dostęp administratorom
Dalej łatwiej.
Usuń zawartość tego klucza
reg usuń „HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ RCM \ GracePeriod” / va / f
A po ponownym uruchomieniu otrzymujemy .... Racja! 120 dni nowego bezpłatnego okresu.
Na przykład możesz wykonać to polecenie jako skrypt i uruchamiać je co 115 dni zgodnie z harmonogramem.
Korzystanie z niego lub nie zależy od ciebie, w porozumieniu z sumieniem i ropuchą 🙂