Недавно я сменил место работы, и теперь вместо IT-компании, разрабатывающей игровое ПО под Linux, работаю в машиностроительной отрасли народного хозяйства. А в этой отрасли про Linux и слыхом не слыхивали. Стандартный набор - Хрюшенька или Семёрочка, Microsoft Office 10, Project 2007, Autocad, и набор когда-то кем-то написанных программ на Delphi/VisualFoxPro для внутреннего использования. Одноранговая сеть без домена.
На компьютере, который мне выдали, установлена Windows 7 с включённым родительским контролем. Админ в перманентной командировке, и всё обслуживание компьтерного парка застыло на одном месте. Но мне же работать надо, а кроме MS-офиса ничего запустить невозможно. Что же делать? Правильно, делать самому себе локальные права админа. Этим мы и займёмся.
Перво-наперво запишем на бумажечку имя пользователя и имя пользователя-администратора. Это пригодиться в будущем. Имена можно увидеть в стартовом окне выбора пользователя, под которым происходит вход в систему.
Далее, нам понадобится обычный стабильный Debian Linux, или любой другой любимый дистр, установленный на флешку. Linux должен быть именно установлен на флешку как на HDD, а не быть залитым через Unetbootin ISO-образом. Это нужно для того, чтобы мы могли доустановить нужные нам программы. Надеюсь, читающие эту статью граждане умеют устанавливать Linux на нужный раздел Flash-диска. Если нет - ищите документации, на русском языке её полно.
После того, как Linux на флешку установлен, нужно доустановить пакет Wine. В нем мы будем запускать редактор файлов реестра. И так же нужно скачать программу RegWorks, которую можно взять по адресу: http://www.archive.org/details/tucows_337004_RegWorks. Это и есть редактор реестра, который умеет подключить любые reg-файлы, исправлять их, и записывать изменения. RegWorks - это windows-программа, которую будем запускать из-под wine.
Берём получившуюся у нас флешку, и вставляем её в машину, на которой нужно сбросить пароль админа (или включить себя в группу админов, что еще лучше, ибо лишние конфликты нам ненужны).
Очень часто на предприятиях используется максимально дешевое железо, с которым может нормально работать только Windows. Поэтому, скорее всего, загрузка Linux с флешки будет неудачной. В этом случае при загрузке нужно будет указать следующие параметры ядра:
acpi=off nomodeset noapic
Скорее всего, с такими параметрами Linux загрузится даже на дешевых материнках неизвестного китайского мастера. Как указывать параметры ядра - разбирайтесь сами. В Debian Linux используется Grub, и этот загрузчик позволяет редактировать опции загрузки.
Загрузившись в Linux, монтируем раздел Windows с диском C: в какую-нибудь директорию. В современных Linux-дистрибутивах (как минимум, в Debian Squeeze) уже установлен и используется по умолчанию fuse-драйвер ntfs-3g. С помощью этого драйвера примонтированный раздел будет доступен на чтение и запись. В Debian Squeese для монтирования windows-раздела я использовал простые команды:
mkdir /media/win
mount /dev/sda2 /media/win
Для справки. В Windows 7 разбитие диска происходит следующим образом. Первый раздел - это небольшой служебный раздел, с какой-то системной информацией. Второй раздел - это диск C:, третий раздел - диск D: и так далее. Именно поэтому я монтировал /dev/sda2.
В примонтированном диске C: заходим в каталог Windows\System32\config, и находим там файл SYSTEM. Это на самом деле обычный *.reg-файл. Копируем его себе два раза в две разные директории - чтобы осталась как минимум одна резервная копия, на всякий случай.
Дальше из-под wine запускаем regworks. Откроется на редактирование wine-реестр. В regworks выбираем в меню File -> Load Hive (в переводе - подгрузить куст, то есть, подключить reg-файл). Regworks попросит указать reg-файл. Указываем нашу копию файла SYSTEM. Затем Regworks спросит имя подгружаемой ветки. Задаём любое, например abc. После чего Regworks подключит файл SYSTEM как ветку реестра.
В подгруженной ветке нужно перейти в подветку Setup, и отредактировать значения следующих параметров:
- CmdLine - ввести cmd.exe
- SetupType - заменть 0 на 2
После чего нужно отключить куст, выделив ветку abc и нажав File -> Unload Hive. Далее закрываем Regworks, он нам больше не понадобится. Копируем наш изменённый файл SYSTEM поверх файла Windows\System32\config\SYSTEM. Перегружаемся, вытаскиваем флешку, ждем запуска Windows.
Если всё сделано правильно, в момент запуска Windows появится cmd-консоль с правами админа. В ней, для смены пароля администратора, мы можем давать следующую команду:
net user имя_пользователя новый_пароль
Берём бумажечку, на которой записаны имена пользователей, и для пользователя-администратора устанавливаем новый пароль. О, как мне подсказывают, бумажечка даже не нужна. Можно просто дать команду:
net user
и в ответ будет выдан список пользователей, существующих в системе.
Можно поступить и по-другому. Можно загнать своего пользователя в группу администраторов. Для этого надо дать команды
net localgroup Администраторы имя_пользователя /add
net localgroup Пользователи имя_пользователя /delete
или для английской версии Windows:
net localgroup Administrators имя_пользователя /add
net localgroup Users имя_пользователя /delete
Эти команды добавят пользователя в группу Администраторы и исключат пользователя из группы Пользователи.
Кроме того, можно даже создать нового пользователя:
net user имя_пользователя пароль /add
По умолчанию новый пользователь будет в группе Пользователи. Загнать пользователя в группу Администраторы можно вышеописанными командами.
После всех этих манипуляций можно закрыть cmd-консоль, и загрузка Windows продолжится. Если вы всё сделали правильно, у вас появятся права администратора. Поздравляю, теперь вы можете делать на компьютере всё, что вам нужно.