- Восстановление пароля для root или угроза безопасности из коробки в Linux
- Введение
- Восстановление пароля root в дистрибутивах Linux
- Дистрибутивы с включенным локальным входом root`a
- Алгоритм восстановления пароля root в дистрибутивах с включенным локальным входом суперпользователя:
- Дистрибутивы с отключенным локальным входом root`a
- Восстановление пароля в Ubuntu, Kubuntu, Xubuntu, Edubuntu:
- Использование LiveCD для восстановления пароля root
- Восстановление root пароля в Ubuntu
- Сброс пароля Ubuntu из режима восстановления (recovery mode)
- Шаг 1. Загрузитесь в режиме восстановления
- Шаг 2. Переходим в командный интерпретатор суперпользователя
- Шаг 3: Перемонтировать рут с правами записи
- Шаг 4: Сбросьте имя пользователя или пароль
- Альтернативный метод сброса пароля Ubuntu
- Возможные проблемы и их решение
- Ошибка “Authentication token manipulation error”
- Нет пункта “recovery mode”
- Ошибка “end Kernel panic”
- Ошибка “Failed to connect to bus”
- Вики IT-KB
- Как восстановить доступ к Debian Linux в случае проблем с sudo или утратой root-пароля
- Загрузка в recovery mode
- Нестандартная загрузка
Восстановление пароля для root или угроза безопасности из коробки в Linux
Если Вы забыли пароль и не можете получить доступ к операционной системе? То эта статья для Вас!
В статье собрана исчерпывающая информация, способная помочь отредактировать пароль root в операционной системе Линукс. Способы восстановления подойдут абсолютно для любых дистрибутивов Linux.
В то же время эта статья даст пищу для размышлений на тему незащищенности менеджера загрузки ОС при физическом доступе к Linux машине. Злоумышленник может получить привилегированный доступ к компьютеру или серверу, войдя в однопользовательский режим и сменив пароль root. При этом ему не требуется знать ни единого пароля системы.
Введение
Есть ситуации, когда требуется войти в систему под root, но пароль неизвестен. Общий механизм восстановления заключается в осуществлении загрузки системы в однопользовательском режиме и редактировании пароля. Этот доступ можно получить только отредактировав конфигурацию менеджера загрузки ОС. Если по какой-то причине этого сделать нельзя (установлен пароль на изменение запуска, используется «самописный» загрузчик и т.д.), то следует использовать LiveCD любого доступного дистрибутива Linux.
Этот подход к восстановлению пароля может быть использован злоумышленником с целью осуществления несанкционированного доступа. Получается, что установленная система по умолчанию не имеет должной защиты при физическом доступе к компьютеру. Злоумышленник может с легкостью получить полный доступ к системе.
Решение, которое может обезопасить от такого рода взлома ОС, заключается в установке пароля доступа к редактированию конфигурации менеджера загрузки системы. Об установке пароля на менеджер загрузки ОС можно прочитать в статье «Установка и настройка пароля на менеджер ОС GRUB».
Восстановление пароля root в дистрибутивах Linux
Дистрибутивы с включенным локальным входом root`a
К этому списку относится большинство дистрибутивов Linux. Проще говоря, это дистрибутивы, в которых можно залогиниться в системе в качестве root`a. Все примеры, приведенные ниже, относятся к дистрибутиву Mandriva.
Алгоритм восстановления пароля root в дистрибутивах с включенным локальным входом суперпользователя:
- При загрузке системы Вы попадаете в меню менеджера загрузки ОС, где списком отображены способы запуска ОС с доступными версиями ядра. В некоторых дистрибутивах используется графический режим (например Mandriva), который отключается клавишей .
Use the ↑ and ↓ keys to select which entry is hightlighted.
Press enter to boot the selected OS, ‘e’ to edit the
commands before booting, or ‘c’ for a command-line.
Use the ↑ and ↓ keys to select which entry is hightlighted.
Press enter to boot the selected OS, ‘e’ to edit the
commands before booting, or ‘c’ for a command-line.
[ Minimal BASH-like line editing is supported. Fot the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ]
При смене пароля, система не будет спрашивать старый пароль, а сразу предложит ввести новый с последующим его повторным подтверждением.
sh-3.2# passwd root
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
Дистрибутивы с отключенным локальным входом root`a
К таким дистрибутивам относятся: Ubuntu, Kubuntu, Xubuntu, Edubuntu. Идеология этих дистрибутивов запрещает работать от имени суперпользователя. Поэтому в них по умолчанию отключен локальный вход root`a на компьютер. В таких ОС только восстановить пароль недостаточно. Нужно еще включить этот самый локальный вход.
Восстановление пароля в Ubuntu, Kubuntu, Xubuntu, Edubuntu:
- При загрузке системы Вы попадаете в меню менеджера загрузки ОС, где списком отображены способы запуска ОС с доступными версиями ядра. В начале списка обычно располагается самое новое ядро, напротив которого Вам следует установить курсор и нажать клавишу (Edit).
- Следующим шагом редактируем параметры загрузки ядра. В этом списке ставим курсор на пункт, который начинается со слова kernel и нажимаем клавишу (Edit).
Use the ↑ and ↓ keys to select which entry is highlighted Press ‘b’ to boot, ‘e’ to edit the selected command in the boot sequence, ‘c’ for a command-line, ‘o’ to open a new line after (‘O’ for before) the selected line, ‘d’ to remove the selected line, or escape to go back to the main menu.
[ Minimal BASH-like line editing is supported. Fot the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ]
При смене пароля, система не будет спрашивать старый пароль, а сразу предложит ввести новый с последующим его повторным подтверждением.
root@(none):/# passwd root
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
Использование LiveCD для восстановления пароля root
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Восстановление root пароля в Ubuntu
Забыли рутовый пароль для входа в Ubuntu Linux? Не беда. Сейчас расскажем, как быстро восстановить доступ.
Упомянутый здесь метод работает для сброса пароля Ubuntu в VMware, двойной загрузки или одиночной установки. Все, что вам нужно, это немного терпения и выполнить пару команд. Вы сбросите пароль root в течение пары минут.
Если нужна другая сборка, то мы также рассказывали про восстановление пароля в CentOS и Debian
Сброс пароля Ubuntu из режима восстановления (recovery mode)
Шаг 1. Загрузитесь в режиме восстановления
Включите компьютер. Зайдите в меню Grub. Как правило, оно появляется автоматически, а если нет, то удерживайте клавишу Shift, пока не появится меню загрузки.
Если вы используете Oracle VirtualBox или VMWare, вы должны удерживать клавишу Shift при появлении логотипа Oracle или VMWare.
В меню grub выберите «Дополнительные параметры для Ubuntu» (Advanced Options for Ubuntu) :
Здесь вы увидите возможность перейти в режим восстановления (recovery mode) :
Выбрав его, вы сначала увидите темный экран и после непродолжительной загрузки окажитесь в меню восстановления.
Шаг 2. Переходим в командный интерпретатор суперпользователя
Теперь вам будут представлены различные варианты режима восстановления. Здесь вам нужно выбрать «Root Drop to root shell prompt» («Перейти в командный интерпретатор суперпользователя» по-русски) . Просто нажмите клавишу Enter, чтобы выбрать эту опцию.
После этого у вас внизу появится командная строка.
Шаг 3: Перемонтировать рут с правами записи
У вас должен быть доступ на запись к корневому разделу. По умолчанию он имеет доступ только для чтения. Используйте команду ниже, чтобы перемонтировать ее с правами записи:
Шаг 4: Сбросьте имя пользователя или пароль
Здесь вам будет представлен root-доступ. Используйте следующую команду, чтобы получить список всех доступных пользователей:
Из предыдущей команды выберите пользователя (username), для которого вы хотите сбросить пароль. Теперь используйте следующую команду для сброса пароля для выбранного пользователя (вместо username указываем имя нашего пользователя):
У нас запросят новый пароль и подтверждение. Введите новый пароль дважды:
Enter new UNIX password: Retype new UNIX password:
Готово! Вы только что успешно сбросили пароль. Теперь выйдите из командной строки root:
Когда вы выйдете, вы вернетесь в меню режима восстановления. Выберите нормальный вариант загрузки — Resume.
Может появится предупреждение о совместимости графического режима, но не волнуйтесь. Полная перезагрузка решит проблему, если таковая имеется.
После перезагрузки вы сможете войти с новым паролем.
Альтернативный метод сброса пароля Ubuntu
Если по каким-либо причинам у вас возникли трудности с переходом в корневую оболочку и сменой пароля, вы можете попробовать выполнить следующие действия:
Перезагрузите компьютер. Удерживайте Shift, чтобы открыть экран grub (если он не работает автоматически). Нажмите E в приглашении grub для редактирования экрана grub.
Найдите строку, начинающуюся с linux , измените ro на rw и добавьте init=/bin/bash в конце этой строки.
Нажмите Ctrl-X , чтобы сохранить изменения и загрузиться. Теперь вы загружаетесь в ядро Linux с правами на чтение и запись, и вместо графического интерфейса пользователя вы будете использовать оболочку bash. Другими словами, ваша система будет загружаться в корневой пароль без пароля.
Введите команду passwd с вашим именем пользователя. Если вы не знаете имя пользователя, проверьте с помощью команды ls/home (как в первом методе).
Теперь установите новый пароль. После того, как вы установили новый пароль, выйдите из терминала. Просто введите reboot в терминал или используйте команду выключения.
Возможные проблемы и их решение
Ошибка “Authentication token manipulation error”
При вводе нового пароля у вас может появиться сообщение об ошибке манипулирования токеном (Authentication token manipulation error):
passwd username Enter new UNIX password: Retype new UNIX password: passwd: Authentication token manipulation error passwd: password unchanged
Причиной этой ошибки является то, что файловая система монтируется только с доступом для чтения. Измените доступ и перемонтируйте файловую систему следующим образом:
Нет пункта “recovery mode”
Если нет пункта recovery mode, то вам нужно выбрать строчку с вашей системой, нажать E и допишите в конец опций ядра слово single . Затем нужно нажать B чтобы загрузился тот же терминал с правами суперпользователя.
Ошибка “end Kernel panic”
Вы можете увидеть такой вывод:
end Kernel panic - not syncing: Attempted to kill init! exit code=0x0007f00
Убедитесь, что вы удалили опцию splash boot при редактировании пункта меню grub.
Ошибка “Failed to connect to bus”
При попытке перезагрузиться с помощью команды reboot вы можете получить:
Failed to connect to bus: No such file or directory Failed to talk to init daemon.
Чтобы избавиться от этой ошибки перезагрузитесь так:
Вики IT-KB
Как восстановить доступ к Debian Linux в случае проблем с sudo или утратой root-пароля
В некоторых ситуациях может получиться так, что мы потеряем административный доступ к серверу на базе Debian GNU/Linux. Например, к такому исходу могут привести некорректные действия администратора по настройке механизма sudo (ошибки при правке файлов /etc/sudoers и/или /etc/sudoers.d/* ) и, как следствие, получение ошибки «Username is not in the sudoers file» при любых дальнейших попытках использования sudo. Иногда бывают ситуации, когда локальный доступ к серверу есть, а данные административной учётной записи недоступны и требуется восстановить административный доступ к серверу.
Загрузка в recovery mode
В типичных ситуациях в Linux имеется режим восстановления Recovery Mode, который, как правило, доступен из загрузчика ОС. В этом режиме наша Linux-система доступна в режиме супер-пользователя root, и мы можем исправить в ней имеющиеся у нас проблемы, например внести корректировки в файлы sudo или добавить/изменить учётные данные локального администратора.
Для того, чтобы попасть в меню загрузки, в процессе запуска ОС Debian нажимаем кнопку Shift. В появившемся меню загрузчика GRUB выбираем расширенный режим загрузки:
Затем выбираем интересующее нас ядро Linux в режиме recovery mode…
Однако в случае с Debian, где супер-пользователь root в конфигурации по умолчанию выключен, мы можем получить сообщение о невозможности загрузки консоли восстановления «Cannot open access to console, the root account is locked»:
В таком случае мы можем прибегнуть к приёму изменения параметров загрузки ядра.
Нестандартная загрузка
В процессе загрузки в GRUB выбираем в списке ядер нужное нам ядро (режим recovery mode здесь уже не важен) и нажимаем «e» для редактирования параметров загрузки.
Находим строку начинающуюся с «linux …»
В конце строки меняем значение « ro » на « rw », а в самом конце строки дописываем вызов оболочки « init=/bin/bash ».
После чего для продолжения загрузки жмём F10
Теперь мы получили беспарольный root-доступ к нашему серверу. Здесь можно исправить имеющиеся у нас проблемы, например внести корректировки в файлы sudo. После внесения нужных правок система может быть загружена обычным образом (все сделанные нами ранее изменения в GRUB были временными).
Дополнительные источники информации:
Проверено на следующих конфигурациях:
Автор первичной редакции:
Алексей Максимов
Время публикации: 13.06.2018 15:45