- Восстановление пароля для root или угроза безопасности из коробки в Linux
- Введение
- Восстановление пароля root в дистрибутивах Linux
- Дистрибутивы с включенным локальным входом root`a
- Алгоритм восстановления пароля root в дистрибутивах с включенным локальным входом суперпользователя:
- Дистрибутивы с отключенным локальным входом root`a
- Восстановление пароля в Ubuntu, Kubuntu, Xubuntu, Edubuntu:
- Использование LiveCD для восстановления пароля root
- Reset lost root password (Русский)
- Через sudo
- Через отладочную консоль
- Используя bash в качестве init
- При помощи LiveCD
- chroot
- Смотрите также
- Сброс пароля root в различных системах UNIX
- Astra Linux / Ubuntu
- Rocky Linux / CentOS 7 / CentOS 8
- FreeBSD
Восстановление пароля для 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
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Reset lost root password (Русский)
Состояние перевода: На этой странице представлен перевод статьи Reset lost root password. Дата последней синхронизации: 13 октября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
На этой странице вы сможете узнать, как сбросить забытый пароль суперпользователя. Существуют несколько способов, которые могут вам в этом помочь.
Важно: Недобросовестный пользователь может использовать указанные здесь методы для получения доступа к вашей системе. Неважно, насколько операционная система защищена от атак и как хороши ваши пароли: имея физический доступ к компьютеру, любой сможет это сделать, если вы, конечно, не выполните шифрование хранимых данных.
Через sudo
Если у вас есть установленный sudo и настроен доступ для группы wheel или для пользователя, чей пароль вы помните, вы можете сменить пароль root с помощью команды sudo passwd root .
Через отладочную консоль
- Добавьте параметр ядра systemd.debug_shell .
- Система загрузится как обычно, но запустит службу debug-shell.service , которая запустит командный интерпретатор ( /bin/sh ) на консоли tty9 . Нажмите Ctrl+Alt+F9 чтобы перейти в неё.
- Используйте команду passwd для установки нового пароля суперпользователя.
- После завершения остановите debug-shell.service .
Используя bash в качестве init
- Добавьте параметр ядра init=/bin/bash в настройках вашего загрузчика.
- Сейчас ваша корневая файловая система смонтирована только для чтения, поэтому перемонтируйте ее на чтение-запись командой mount -n -o remount,rw / .
- Используйте команду passwd для установки нового пароля суперпользователя.
- Перезагрузитесь с помощью команды reboot -f и не забудьте свой пароль снова!
Примечание: Некоторые клавиатуры не распознаются должным образом при загрузке bash из GRUB, и вы не сможете ничего ввести в консоли. В этом случае вам остается лишь использовать другой способ.
При помощи LiveCD
С загрузочным диском у вас есть два варианта: войти в сеанс chroot и использовать команду passwd , либо очистить запись с паролем в файле паролей напрямую. Вы можете использовать любой загрузочный диск на основе Linux, хотя для chroot необходимо, чтобы архитектура LiveCD совпадала с архитектурой установленной системы. Здесь мы приведем лишь способ сброса пароля при помощи chroot, так как ручное редактирование файла паролей представляет значительно больший риск.
chroot
- Загрузитесь с LiveCD и смонтируйте корневой раздел вашей основной системы.
- Используйте команду passwd —root ТОЧКА_МОНТИРОВАНИЯИМЯ_ПОЛЬЗОВАТЕЛЯ для установки нового пароля (старый пароль запрошен не будет).
- Размонтируйте корневой раздел.
- Перезагрузитесь и введите новый пароль.
Смотрите также
Сброс пароля root в различных системах UNIX
Обновлено: 28.02.2023 Опубликовано: 18.12.2022
Для выполнения нижеописанных действий у нас должен быть либо физический доступ к компьютеру, либо возможность подключения к KVM-консоли/IPMI.
Astra Linux / Ubuntu
При старте системы дожидаемся окна выбора варианта загрузки (GNU GRUB):
Если данное окно не появляется и начинает загружаться система, после первого загрузочного окна нажимаем Shift.
Остаемся на пункте Ubuntu и нажимаем клавишу e — откроется редактор со сценарием загрузки. Находим в нем строку, которая начинается с:
Удаляем ro и в конце строки допишем:
Можно запускать загрузку системы. Нажимаем F10 или Ctrl + X. Мы должны увидеть командную строку с возможностью вводит команды.
И дважды пароль, который хотим использовать (при вводе не будут отображаться символы):
New Password:
Retype New Password:
Запускаем системы в обычном режиме:
Rocky Linux / CentOS 7 / CentOS 8
Во время загрузки системы дожидаемся окна с возможностью выбора варианта загрузки:
Наводим на нужную версию ядра, если их несколько (как правило, нужная нам находится в самом верху) и нажимаем клавишу e.
Мы должны увидеть редактор для правки сценария загрузки. Находим строку, которая начинается с:
Редактируем в данной строке ro на rw и в конец дописываем rd.break enforcing=0:
Нажимаем Ctrl + X — система загрузится в режиме восстановления.
Зайдем в оболочку с другим корнем:
Меняем пароль для пользователя root:
Система попросит дважды ввести пароль:
New Password:
Retype New Password:
После выходим из окружения chroot:
И грузим нашу систему в обычном режиме:
Входим в систему с использованием нового пароля.
FreeBSD
Перезагружаем компьютер до окна выбора вариантов загрузки:
* данное окно в разных версиях FreeBSD может различаться.
Нам нужно выбрать Single User Mode. В моем примере я нажимаю 2 .
Система загрузится в однопользовательском режиме. В нем у нас будет смонтированный корневой раздел в режиме только для чтения. Вводим команду, чтобы это исправить:
Вводим команду для смены пароля:
После этого дважды пароль (при вводе не будут отображаться символы):
New Password:
Retype New Password:
Выходим из однопользовательского режима:
Система загрузится в обычном режиме. Можно авторизовываться с новым паролем.