Утилита REGINI.EXE первоначально входила в состав пакета Resource Kit, но, начиная с Windows XP, является стандартным компонентом системного программного обеспечения. Используется в сценариях администрирования для управления доступом к разделам (ключам) реестра на локальном или удаленном компьютере.
Формат командной строки:
REGINI [-m \\machinename | -h hivefile hiveroot] [-i n] [-o outputWidth][-b] textFiles...
Параметры командной строки:
-m \\machinename - имя или адрес удаленного компьютера, на котором будет выполняться изменение разрешений для разделов реестра.
-h - определяет куст реестра на локальном компьютере, для которого будут устанавливаться разрешения.
-i n – смещение текста от первой позиции строки. По умолчанию равно 4
-o outputWidth - максимальный размер строк вывода. По умолчанию соответствует ширине консоли.
-b - определяет режим обратной совместимости с предыдущими версиями REGINI (backward compatible).
textFiles - имена текстовых файлов в кодировке ANSI или Unicode, представляющих собой сценарии для изменения разрешений реестра.
Примеры использования:
regini /? - отобразить краткую справку по использованию команды.
regini acl1reg.txt - выполнить изменения разрешений для разделов (ключей) реестра на локальном компьютере с использованием файла сценариев acl1reg.txt
regini –m \\COMP0 C:\scripts\acl2reg.txt - выполнить изменения разрешений для реестра на удаленном компьютере COMP0 с использованием сценария C:\scripts\acl2reg.txt
Сценарии для утилиты REGINI содержат специальные директивы и параметры, с помощью которых можно управлять доступом к разделам (ключам) реестра Windows. Файлы сценариев представляют собой обычные текстовые файлы, которые можно редактировать, например, с помощью редактора ”Блокнот” (Notepad). Строки сценариев содержат адреса разделов и числовые коды, разделенные пробелами и определяющие разрешения в формате:
(путь к разделу реестра) [разрешения]
Например, строка сценария, устанавливающая разрешения доступа для раздела Adm :
HKEY_LOCAL_MACHINE\Software\Adm
В данном примере, устанавливаются разрешения , расшифровать которые можно с использованием следующей таблицы:
1 - Администратор, полный доступ
2 - Администратор, чтение
3 - Администратор, чтение и запись
4 - Администратор, чтение, запись и удаление
5 - Создатель, полный доступ
6 - Создатель, чтение и запись
7 - Все, полный доступ
8 - Все, чтение
9 - Все, чтение и запись
10 - Все, чтение, запись и удаление
11 - Опытные пользователи, полный доступ
12 - Опытные пользователи, чтение и запись
13 - Опытные пользователи, чтение, запись и удаление
14 - Системный оператор, полный доступ
15 - Системный оператор, чтение и запись
16 - Системный оператор, чтение, запись и удаление
17 - Система, полный доступ
18 - Система, чтение и запись
19 - Система, чтение
20 - Администратор, чтение, особые разрешения
21 - Интерактивные пользователи, чтение, полный доступ
22 - Интерактивные пользователи, чтение
23 - Интерактивные пользователи, чтение, особые разрешения
0 - Нет групп или пользователей, имеющих разрешение на доступ к данному объекту, но владелец объекта может назначить разрешения.
Таким образом, код означает
Администратор, полный доступ
Создатель, полный доступ
Все, чтение и запись
Необходимо учитывать тот факт, что ранее установленные разрешения сбрасываются, и если, после комбинации в сценарии будет использована, например директива:
HKEY_LOCAL_MACHINE\Software\Adm
То это означает, не добавление кода 4 - Администратор, чтение, запись и удаление, к существующим кодам 1 5 9 , а их замена. Для добавления новых разрешений, с сохранением старых, строка должна быть следующего вида:
HKEY_LOCAL_MACHINE\Software\Adm
При добавлении новых ключей или параметров в реестр, в файле сценария первой строкой указывается имя ключа, а второй (последующими) строкой указывается имя параметра, знак равенства, тип данных и значение:
ИМЯ КЛЮЧА
Имя параметра = тип данных значение
Пример файла сценария:
HKEY_CURRENT_USER\TEST
Text=REG_SZ String1
Первая строка указывает имя ключа (подраздела реестра) HKEY_CURRENT_USER\TEST, в который будет записан параметр и в квадратных скобках – код разрешения доступа к нему. Если подраздел TEST не существует, то он будет создан с указанными разрешениями, если существует – то выполнится смена разрешений на указанные в квадратных скобках. Если код разрешений не задан, то разрешения не изменяются. Вторая строка указывает имя и значение параметра, который будет записан в данный ключ реестра. Если параметр text не существует, то он будет создан, если существует, то будет изменено его значение на строку String1 .
Наличие знака равенства = в строке сценария утилита regini.exe интерпретирует как команду на запись параметра в формате
имя = тип значение
Для удаления значения параметра, строка должна иметь вид:
Для удаления самого параметра, используется ключевое слово DELETE
text=DELETE
Под строкой с именем ключа можно располагать несколько команд на изменение или добавление параметров:
text=REG_SZ This is text
Value1=REG_DWORD 0x0A0D
Использование команды REGINI представляет собой определенную опасность, поэтому, прежде чем делать серьезные изменения в системе, рекомендуется выполнить резервное копирование и ознакомиться со способами восстановления Windows.
Если необходимо установить новые разрешения для куста реестра, принадлежащего другой операционной системе, то необходимо учитывать тот факт, что пути к разделам реестра должны указываться относительно имени куста, так например, для изменения разрешения для раздела HKEY_LOCAL_MACHINE\System на доступ команда должна иметь вид:
regini –h D:\oldwin\system32\config\system newacl.txt
А файл newacl.txt должен содержать строку без имени подраздела:
Для просмотра существующих разрешений в командной строке Windows NT/2000 можно использовать утилиту regdmp.exe из состава дополнительных инструментов Resource Kit. В составе более поздних версий ОС Windows, стандартных средств, для просмотра разрешений разделов реестра в командной строке, не имеется.
Для начала мы усовершенствуем страничку регистрации, добавив возможность загружать аватар. Исходное изображение должно быть формата jpg, gif или png. Так же оно должно быть не более 2 Мб. Не беспокойтесь, после его сжатия скриптом, размер аватара будет около 3 кб и формат jpg. Откройте страницу reg. php и допишите в теге < form > строчку enctype="multipart/form-data" ,как в примере: