Будем сбрасывать пароль пользователя root.
В общем процедура заключается в следующем:
- Загрузиться с Live CD
- Примонтировать раздел на котором расположен файл passwd
- Отредактировать файл passwd
Теперь подробно:
Загружаем систему на которой необходимо сбросить пароль с LiveCD. В качестве LiveCD можно воспользоваться установочным диском Ubuntu. В этой статье подробно рассказывается, как загрузиться с LiveCD. Я буду использовать образ ubuntu-14.04.1-desktop-i386.
Выбираем Try Ubuntu
Появляется рабочий стол Ubuntu:
Чтобы перейти в терминал (командную строку) жмем сочетание клавиш [Ctrl+Alt+F1]. Для возврата в графический интерфейс используется сочетание клавиш [Ctrl+Alt+F7].
Теперь определим какой раздел диска нужно примонтировать. Файл passwd находится в разделе, который помечен, как загрузочный (boot). Чтобы посмотреть, какие разделы доступны и какой из них является загрузочным используем команду:
sudo fdisk -l
Вывод команды:
В колонке Boot напротив загрузочного раздела стоит символ [*]. Вот этот то раздел нам и нужно примонтировать. В моем случае раздел называется /dev/sda1. У вас он может быть другим, например /dev/sdb1, /dev/sdc1. Итак монитруем раздел.
Для этого в директории /mnt создадим точку монтирования (директорию). Назовем ее например disk1.
sudo mkdir /mnt/disk1
Теперь выполним монтирование раздела /dev/sda1 в директорию /mnt/disk1
Выполним команду:
sudo mount /dev/sda1 /mnt/disk1
Проверим, что раздел примонтирован, для этого выполним команду:
mount |grep sda1
Получим вывод команды:
Видим, что раздел /dev/sda1 примонтирован в каталог /mnt/disk1
(rw) – означает, что раздел примонтирован с правами чтения\записи (read\write). По умолчанию, команда mount монтирует раздел именно с правом rw.
Теперь перейдем в директорию /mnt/disk1. Для этого выполним команду:
cd /mnt/disk1
Просмотрим содержимое текущей директории командой:
ls
Вывод команды ls:
Вывод команды показывает содержимое раздела /dev/sda1. Нам нужен каталог etc. Перейдем в него с помощью команды cd
cd etc
В этой директории должен находиться файл passwd. Открываем файл либо через редактор vi, либо через nano. Я воспользуюсь vi, т.к. этот редактор есть во всех дистрибутивах Linux. Вдруг вы будете загружаться с LiveCD на котором нет редактора nano. В nano все просто и понятно. Команда на редактирование файла passwd через nano следующая:
sudo nano passwd
Итак выполняем редактирование файла через редактор vi
sudo vi passwd
Тут может быть 2 варианта. Либо на месте значения пароля стоит символ «x», либо будет довольно длинная строка вида: «$6$CWndpft4dadHDkfdl…»
Вариант 1.
В этом случае необходимо удалять все символы выделенные желтой рамкой.
Вариант 2.
В этом случае необходимо удалить только символ «x».
В итоге должна получиться такая строчка:
Т.е. между словом «root» и первой по порядку цифрой «0» должно стоять два знака двоеточия «::» (root::0). Будьте внимательны, т.к. если будет какой-нибудь лишний символ или какого-то символа будет не хватать, то процедура сброса пароля окажется неудачной.
Редактируем файл passwd через редактор vi
Итак, после выполнения команды
sudo vi passwd
открылось окно редактирования в редакторе vi:
клавишами перемещения курсора устанавливаем курсор на символ «x» и один раз жмем клавишу [x]. Символ будет удален и в результате у нас должна появиться такая строка:
Теперь необходимо выйти в режим команд редактора vi. Для этого необходимо на клавиатуре ввести команду «:» (двоеточие). В моем случае это будет нажатие сочетания клавиш [Shift+;]. Далее необходимо набрать команду wq путем нажатия соответствующих клавиш [w] и [q]. В итоге внизу окна редактора должна получиться строчка «:wq«. На рисунке выделена желтой рамкой:
Команда :wq означает: «записать и выйти» (w — write, q — quit). Жмем [Enter], редактирование файла passwd закончено. Извлекаем носитель LiveCD и перезагружаем компьютер. Когда появится окно логина, то в качестве имени пользователя вводим root, жмем [Enter] и сразу же без запроса пароля попадаем в систему. Запрос на ввод пароля не выдается. Если все было сделано правильно, то мы успешно залогинимся в системе. Далее необходимо снова открыть файл passwd на редактирование и вернуть строку, которую мы редактировали к первоначальному виду, т.е. нужно добавить символ »x’ обратно. Через редактор vi это будет выглядеть следующим образом:
Вводим команду:
vi /etc/passwd
Открывается окно редактирования:
Клавишами перемещения курсора устанавливаем курсор между символами «::», т.е. должно получиться так: root:<тут курсор>:0
Жмем клавишу [i], таким образом мы входим в режим редактирования. И печатаем нужный нам символ «x«. Должна получиться такая строка: root:x:0
Жмем клавишу [Esc] — так мы входим из режима редактирования. И переходим в режим команд путем ввод символа двоеточие «:» [Shift+;]. Вводим команду на запись и выход :wq
А теперь нужно изменить пароль пользователя root. Для этого выполняем команду passwd и дважды указываем свой новый пароль. Попробуйте выйти из системы и снова зайти под пользователем root уже со своим новым паролем. Если не получается, попробуйте повторить процедуру по сбросу пароля.