Понякога, за да промените нещо в системния регистър (извършете ощипване или просто направете необходимата промяна), първо трябва да получите достъп до клона / ключа на системния регистър. Изглежда, че това не е проблем за администратора. Но нюансът е, че дори администраторът не може да прави промени в някои клонове на системния регистър на Windows. Достъпът до такива клонове е ограничен от ACL, в които или няма разрешения за писане за групата от местни администратори, или TrustedInstaller или System са определени като собственици на такива секции. В това ръководство ще ви покажем няколко прости начина да дадете права на собственика на администратора и пълни права на защитен ключ на системния регистър..
Няма да разглеждаме графичния метод за промяна на собственика и възлагане на права чрез полезния regedit.exe и ще се спрем на възможностите за промяна на собствеността върху всеки ключ на системния регистър и осигуряване на достъп от командния ред. Всички описани по-долу методи работят във всички версии на Windows.!
Съдържание:
- Получаване на права на собственик върху ключа на регистъра с помощта на помощната програма SubInACL
- Промяна на собствеността и правата върху ключа на системния регистър с помощта на помощната програма SetACL
- Получаване на права на собственик върху регистър ключ с помощта на вградената команда REGINI
- Пример за употреба
Получаване на права на собственик върху ключа на регистъра с помощта на помощната програма SubInACL
SubInACL - Това е официална програма от Microsoft, която можете да използвате за преглед и промяна на разрешения, информация за собственика и сигурността и т.н. за файлове, папки, ключове за регистър, услуги и т.н. на прозорци .
Помощната програма е написана за Windows 2000, XP и Server 2003, но може да се използва с всички нови версии на Windows.
СТЪПКА 1:
Изтеглете помощната програма от уебсайта на Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=23510
СТЪПКА 2:
Това е стандартен инсталатор на MSI, който копира файла SubInACL.exe в папката "C: \ програмни файлове (x86) \ комплекти на ресурси \ инструменти \" в Windows x64 и в папката "C: \ програмни файлове \ ресурсни комплекти \ инструменти \" на Windows x86.
Но никой не ви притеснява просто да разархивирате MSI файла (например, използвайки 7-Zip) навсякъде, без да е необходимо да го инсталирате.
СТЪПКА 3:
Можете да изберете как да стартирате SubInACL.exe. От мястото на инсталиране (cd C: \ Program Files (x86) \ Windows Resource Kits \ Tools) или от мястото, където сами сте го разопаковали, поне от флаш устройството 🙂. Или можете да копирате SubInACL.exe в папката C: \Windows\система32 и тогава ще започне от име. Предлагаме да копирате файла subinacl.exe в папката C: \ Windows \ System32 (C: \ Windows \ SysWOW64), така че да можете да стартирате SubInACL от всяко удобно място.
СТЪПКА 4:
Нека научим как да работим с SubInACL.exe. Синтаксис на помощната програма (в командния ред с права на администратор):
SubInACL / име на име / действие
/тип: Посочете желания тип обект. Ако трябва да смените собственика на файла или папката, използвайте досие, и ако трябва да смените собственика на ключа на системния регистър, тогава използвайте keyreg или subkeyreg. Разликата между keyreg и subkeyreg е тази keyreg променя собственика само на конкретен ключ и subkeyreg променя собственика на този ключ и всички подчинени ключове.
име: Заменете този параметър с името на файла, папката или ключа на системния регистър.
/действие: Този параметър определя действието, което ще се извърши върху обекта. Е, тъй като ще сменим собственика на ключа и правата върху ключа, ще използваме /setowner=администраторите /грант=администраторите=е като действие.
Разглеждаме пример.
SUBINACL / keyreg "HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla" / setowner = Администратори / grant = Administrators = f
Тази команда означава, че собственикът на този ключ се променя и администраторът получава пълни права за управление на този ключ.
Е, просто трябва да замените името на ключа от примера със собствен и да изпълните командата ...
PS: Ако се интересувате да разгледате всички налични синтаксис, ключове и параметри на командата SubInACL, стартирайте с такъв ключ SubInACL /помощПромяна на собствеността и правата върху ключа на системния регистър с помощта на помощната програма SetACL
SetACL е безплатна помощна конзола. Трябва да изтеглите програмата и след това да стартирате необходимите команди.
СТЪПКА 1:
Изтеглете програмата SetACL: https://helgeklein.com/download/#setacl
СТЪПКА 2:
След като изтеглите, разархивирайте ZIP файла и вижте две версии на помощната програма: за x86 и за x64 версии на Windows. Трябва да използвате правилния SetACL.EXE за вашата версия на Windows. Вижте коя версия на Windows можете в System Properties.
СТЪПКА 3:
Има два начина да използвате приложението. Например, можете да запишете помощната програма в папката E: \ SetACL, след това отворете командния ред като администратор и отидете в тази папка с помощта на стандартни команди или въведете пълния път за стартиране на помощната програма, например E: \ SetACL \ SetACL.exe. Или можете да копирате SetACL.exe в системната папка C: \Windows\система32 (C: \ Windows \ SysWOW64), тогава можете да стартирате командата SetACL отвсякъде. Предлагаме да копирате файла EXE в папката C: \ Windows \ System32 (C: \ Windows \ SysWOW64).
СТЪПКА 4:
Сега, след като сте завършили всички предварителни процедури, можете да стартирате SetACL:
SetACL -on име -OT тип -actn действие
синтаксис:
Какво е подчертано смел остава непроменено, това, което се подчертава в курсив ще променим:
-за: Този параметър показва пълния път към файла или ключа на системния регистър, чийто собственик искате да промените.
-OT: Този параметър определя типа на обекта. Ако сменим собственика на файла, тогава променяме параметъра на досие. Ако ключът на системния регистър, тогава посочете рег
-actn: Този параметър показва какво да направите. Има много възможни опции, но тъй като говорим за ключове в системния регистър, по-специално за промяна на собственика или възлагане на други права на ключа, ще използваме само стойностите setowner или ас.
За да разберете по-добре как става това, вижте пример:
Да предположим, че искате да промените собственика на ключа HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla. За да направите това, трябва да стартираме SetACL със следните параметри:
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"
Първата команда ще направи групата местни администратори собственик на ключа, а втората ще предостави пълен достъп до ключа.
Просто трябва да промените ключовата стойност между кавички ("") на тази, от която се нуждаете.
Забележка: SetACL има много параметри, но прочетете сами за това тук (https://helgeklein.com/setacl/documentation/command-line-version-setacl-exe/).Получаване на права на собственик върху регистър ключ с помощта на вградената команда REGINI
Тази команда е включена във всеки Windows и можем да я използваме за присвояване на разрешения на ключовете в системния регистър. Използването на командата е много просто. Създаваме скриптов файл с необходимите параметри и предаваме този файл за обработка на командата REGINI.
СТЪПКА 1:
Отваряне на бележника (Notepad) и въведете името на необходимия ключ и ACL (Списък за контрол на достъпа), използвайки този формат:
KEY_NAME [ACL]
промяна ключ_име името на ключа, от който се нуждаете, но вижте, че името на ключа е правилно, както е показано по-долу:
\ Регистър \ машина \ софтуер \ класове (за ключове от раздел HKEY_CLASSES_ROOT)
\ Регистър \ машина (за ключове от секцията HKEY_LOCAL_MACHINE)
\ Регистър \ потребител \ user_sid (за клавишите от секцията HKEY_CURRENT_USER) (заменете user_sid към правилния идентификационен номер за сигурност на този потребител)
\ Регистър \ потребител (за ключове от секцията HKEY_USERS)
Например, нека да разгледаме ключа "HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla" и да напишем скрипта:
\ Регистър \ машина \ СОФТУЕР \ Mozilla
замени ACL към списъка, от който се нуждаем:
1 | (за предоставяне на пълен достъп на администраторите) | Дайте на администраторите пълен достъп |
2 | (за да предоставите на администраторите достъп за четене) | Дайте на администраторите достъп само за четене |
3 | (за да предоставите на администраторите достъп за четене и запис) | Дайте право на администраторите да се променят |
4 | (за да предоставите на администраторите достъп за четене, писане и изтриване) | Дайте право на администраторите да променят и изтриват |
5 | (за предоставяне на пълен достъп на Създател / Собственик) | Дайте пълен достъп на създателя / собственика |
6 | (за да предоставите на създателя / собственика достъп за четене и запис) | Дайте на създателя / собственика достъп за промяна |
7 | (да предоставим на всички пълен достъп) | Дайте на всички пълен достъп |
8 | (за да предоставите на всички достъп за четене) | Дайте на всеки достъп само за четене |
9 | (за да предоставите на всички достъп за четене и запис) | Дайте право на всеки да се променя |
10 | (за да предоставим на всички достъп за четене, писане и изтриване) | Дайте право на всеки да променя и изтрива |
17 | (за осигуряване на пълен достъп до системата) | Дайте пълен достъп на системата |
18 | (за осигуряване на достъп до четене и запис на системата) | Дайте правото на системата да се променя |
19 | (за осигуряване на достъп до четене на системата) | Дайте на системата достъп само за четене |
Сега [ACL] в скрипта ще бъде инсталирано нещо подобно:
[1 6 9 17]
Както е показано в таблицата, това ще даде пълен достъп до Администраторите и Системата, както и правото да промените създателя на ключове и всичко останало.
Финалната линия ще изглежда така:
\ Регистър \ машина \ HKEY_LOCAL_MACHINE \ СОФТУЕР \ Mozilla [1 6 9 17]
Можете да използвате всякакви ACL комбинации според нуждите си.
Забележка: Не забравяйте, че съществуващите разрешения за ключа, посочен в скрипта, ще бъдат заменени с нови. Не забравяйте да включите разрешения за всички акаунти в скрипта. Ако забравите да предоставите разрешения на акаунта в СИСТЕМАТА, този акаунт ще бъде премахнат от списъка за достъп.СТЪПКА 2:
Запазваме скрипта под името ACL.TXT, след това отваряме командния ред като администратор и изпълняваме нашата команда:
Regini full_path_of_script_file
Или в нашия случай ще изглежда така
REGINI c: \ install \ acl.txt
И това е всичко. Разрешенията ще бъдат променени незабавно..
Е, нещо такова. Метод 1 е най-ефективният и работи на 100%.
Пример за употреба
Необходимо беше да се стартира хостът за отдалечен работен плот, за да се предостави на група разработчици споделен достъп до сървъра за конфигуриране на определени приложения и базата данни. В бъдеще не беше планирано да се осигурява отдалечен достъп до този сървър. Имаше повече от 2 разработчици и всеки искаше да работи едновременно. И обеща да завърши за по-малко от 4 месеца.
Не е казано по-рано, отколкото е направено. Устройството за отдалечен работен плот на Windows 2012 R2 беше повдигнато и започнахме да използваме 120-дневния безплатен период. Но ... 4 месеца не бяха достатъчни (както винаги). Не исках да използвам правен ключ за TS, тъй като работата е временна, както казах по-рано. Трябваше ... да се възползвам от знанията, които току-що получи.
Ключът в системния регистър, отговорен за преброяването на 120-дневния период за грация, се намира тук:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ RCM \ GracePeriod
Групата Администратори има достъп само до четене до този ключ..
Използван е метод 1. Така да се каже, самите Microsoft са се наказвали :)
SUBINACL / keyreg "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ RCM \ GracePeriod" / setowner = администратори / grant = администратори = f
Промени собственика и даде пълен достъп на администраторите
По-нататък по-лесно.
Изтрийте съдържанието на този ключ
reg изтрийте "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Терминален сървър \ RCM \ GracePeriod" / va / f
И след рестартирането получаваме…. Точно така! 120 дни от новия безплатен период.
Например, можете да изпълните тази команда като скрипт и да я изпълнявате на всеки 115 дни, както е планирано.
Да го използвате или не, зависи от вас, като се консултирате с вашата съвест и жаба 🙂