Заблокирован пароль root

Заблокирован пароль root Техника

Если Вы забыли пароль и не можете получить доступ к операционной системе? То эта статья для Вас!

В статье собрана исчерпывающая информация, способная помочь отредактировать пароль root в операционной системе Линукс. Способы восстановления подойдут абсолютно для любых дистрибутивов Linux.

В то же время эта статья даст пищу для размышлений на тему незащищенности менеджера загрузки ОС при физическом доступе к Linux машине. Злоумышленник может получить привилегированный доступ к компьютеру или серверу, войдя в однопользовательский режим и сменив пароль root. При этом ему не требуется знать ни единого пароля системы.

Введение

Этот подход к восстановлению пароля может быть использован злоумышленником с целью осуществления несанкционированного доступа. Получается, что установленная система по умолчанию не имеет должной защиты при физическом доступе к компьютеру. Злоумышленник может с легкостью получить полный доступ к системе.

Решение, которое может обезопасить от такого рода взлома ОС, заключается в установке пароля доступа к редактированию конфигурации менеджера загрузки системы. Об установке пароля на менеджер загрузки ОС можно прочитать в статье «Установка и настройка пароля на менеджер ОС GRUB».

Восстановление пароля root в дистрибутивах Linux

Дистрибутивы с включенным локальным входом root`a

Алгоритм восстановления пароля root в дистрибутивах с включенным локальным входом суперпользователя:

  1. При загрузке системы Вы попадаете в меню менеджера загрузки ОС, где списком отображены способы запуска ОС с доступными версиями ядра. В некоторых дистрибутивах используется графический режим (например Mandriva), который отключается клавишей <Esc>.

    version 0.97 (639K lower / 129984K upper memory)

    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.


    В начале списка обычно располагается самое новое ядро, напротив которого Вам следует установить курсор и нажать клавишу <E> (Edit). В данном примере только одно доступное ядро.

  2. Следующим шагом редактируем параметры загрузки ядра.

    version 0.97 (639K lower / 129984K upper memory)

    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.

    В этом списке ставим курсор на пункт, который начинается со слова kernel и нажимаем клавишу <E> (Edit).

  3. К концу строки после пробела добавляем 1 и нажимаем <ENTER>.

    <a1 resume=/dev/hda5 splash=silent vga=788 1


    Этот добавленный параметр позволяет запустить систему в однопользовательском режиме (Single Mode) с правами root. В следующем окне нажимаем клавишу <B> (Boot).

  4. После загрузки системы меняем пароль суперпользователя root. Для этого запускаем команду:

    При смене пароля, система не будет спрашивать старый пароль, а сразу предложит ввести новый с последующим его повторным подтверждением.

    sh-3.2# passwd root
    New UNIX password:
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully

    Пароль изменен.

  5. Далее <Ctrl>+<Alt>+<Delete> и при последующем старте системы можно будет зайти под учетной записью суперпользователя root.

Дистрибутивы с отключенным локальным входом root`a

К таким дистрибутивам относятся: Ubuntu, Kubuntu, Xubuntu, Edubuntu. Идеология этих дистрибутивов запрещает работать от имени суперпользователя. Поэтому в них по умолчанию отключен локальный вход root`a на компьютер. В таких ОС только восстановить пароль недостаточно. Нужно еще включить этот самый локальный вход.

Восстановление пароля в Ubuntu, Kubuntu, Xubuntu, Edubuntu:

  1. При загрузке системы Вы попадаете в меню менеджера загрузки ОС, где списком отображены способы запуска ОС с доступными версиями ядра. В начале списка обычно располагается самое новое ядро, напротив которого Вам следует установить курсор и нажать клавишу <E> (Edit).
  2. Следующим шагом редактируем параметры загрузки ядра. В этом списке ставим курсор на пункт, который начинается со слова kernel и нажимаем клавишу <E> (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.

  3. К концу строки после пробела добавляем:

    В результате на экране получаем:

    <-983b-4de7-Bba5-fe98ad772722 ro quiet rw init=/bin/bash


    Жмем <ENTER> и затем клавишу <B> (Boot).

  4. После загрузки системы меняем пароль root командой:

    При смене пароля, система не будет спрашивать старый пароль, а сразу предложит ввести новый с последующим его повторным подтверждением.

    Пароль изменен.

  5. Добавляем разрешение на локальный вход суперпользователю. Для этого нужно отредактировать конфигурационный файл /etc/gdm/gdm.conf. В разделе [SECURITY], находим параметр AllowRoot и меняем его значение на true:

    # Открываем файл для редактирования

    sudo nano /etc/gdm/gdm.conf

    Ищем строку в разделе [SECURITY]:

    И меняем параметр AllowRoot на true. Должно получиться так:

    Закрываем файл, сохраняя внесенные изменения.

  6. Жмем <Ctrl>+<Alt>+<Delete> и при последующем старте системы можно будет зайти под учетной записью суперпользователя root.

Использование LiveCD для восстановления пароля root

Если по каким-то причинам Вы не можете восстановить пароль root вышеизложенными способами, то предлагаю рассмотреть последний общий способ восстановления. Этот способ подойдет для любой операционной системы Linux.

Суть последнего способа заключается в загрузке компьютера с LiveCD в root окружении вашего корневого раздела и смене пароля.

Использование LiveCD для восстановления пароля суперпользователя root:

  1. Загружаемся с LiveCD;
  2. Монтируем корневую файловую систему к директории /mnt. Про монтирование можно прочитать подробнее в статье «Команда mount в Linux или все о монтировании разделов, дисков, образов ISO и SMB ресурсов»

    # Просматриваем структуру жесткого диска. Корневой раздел будет помечен символом /, именно он нам и нужен.

    sudo fdisk -l

    # Монтирование корневого раздела. В качестве точки монтирования директория /mnt.

    sudo mount /dev/корневой раздел /mnt

  3. Добавляем root-окружение системе LiveCD:

    sudo chroot /mnt

  4. Меняем стандартной командой пароль root:

    sudo passwd root

    При смене пароля, система не будет спрашивать старый пароль, а сразу предложит ввести новый с последующим его повторным подтверждением.

  5. Перезагружаем систему и входим под добавленной учетной записью root.

Из всего написанного выше можно сделать вывод, что восстановление утерянного пароля root не столь уж трудоемкая работа, с которой может справиться любой заинтересованный человек. Даже тот кому этого делать не положено. С точки зрения безопасности, вход в однопользовательский режим операционной системы требует дополнительного внимания.

Об этом должен знать и помнить каждый системный администратор!

Заблокирован пароль root


Эксперт по Linux и Windows

Опытный системный администратор с большим стажем работы на крупном российском заводе. Иван является энтузиастом OpenSource и любителем Windows, проявляя высокую компетентность в обоих операционных системах.

Благодаря его технической грамотности и умению решать сложные задачи, Иван стал неотъемлемой частью команды нашего проекта, обеспечивая непрерывную авторскую работу.

Состояние перевода: На этой странице представлен перевод статьи Reset lost root password. Дата последней синхронизации: 13 октября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

На этой странице вы сможете узнать, как сбросить забытый пароль суперпользователя. Существуют несколько способов, которые могут вам в этом помочь.

Важно: Недобросовестный пользователь может использовать указанные здесь методы для получения доступа к вашей системе. Неважно, насколько операционная система защищена от атак и как хороши ваши пароли: имея физический доступ к компьютеру, любой сможет это сделать, если вы, конечно, не выполните шифрование хранимых данных.

Если у вас есть установленный sudo и настроен доступ для группы wheel или для пользователя, чей пароль вы помните, вы можете сменить пароль root с помощью команды sudo passwd root.

Через отладочную консоль

  1. Добавьте параметр ядра systemd.debug_shell.
  2. Система загрузится как обычно, но запустит службу debug-shell.service, которая запустит командный интерпретатор (/bin/sh) на консоли tty9. Нажмите Ctrl+Alt+F9 чтобы перейти в неё.
  3. Используйте команду passwd для установки нового пароля суперпользователя.
  4. После завершения остановите debug-shell.service.

Используя bash в качестве init

  1. Добавьте параметр ядра init=/bin/bash в настройках вашего загрузчика.
  2. Сейчас ваша корневая файловая система смонтирована только для чтения, поэтому перемонтируйте ее на чтение-запись командой mount -n -o remount,rw /.
  3. Используйте команду passwd для установки нового пароля суперпользователя.
  4. Перезагрузитесь с помощью команды reboot -f и не забудьте свой пароль снова!

Примечание: Некоторые клавиатуры не распознаются должным образом при загрузке bash из GRUB, и вы не сможете ничего ввести в консоли. В этом случае вам остается лишь использовать другой способ.

При помощи LiveCD

  1. Загрузитесь с LiveCD и смонтируйте корневой раздел вашей основной системы.
  2. Используйте команду passwd --root ТОЧКА_МОНТИРОВАНИЯ ИМЯ_ПОЛЬЗОВАТЕЛЯ для установки нового пароля (старый пароль запрошен не будет).
  3. Размонтируйте корневой раздел.
  4. Перезагрузитесь и введите новый пароль.

This guide will show you how to reset a forgotten root password. Several methods are listed to help you accomplish this.

Warning: An attacker could use some of the methods mentioned below to break into your system. No matter how secure the operating system is or how good passwords are, having physical access amounts to loading an alternate OS and exposing your data, unless you use data-at-rest encryption.

Using the debug shell

  1. Append systemd.debug_shell to the kernel parameters.
  2. This will do a normal boot but start debug-shell.service which runs a root shell (/bin/sh) on tty9. Press Ctrl+Alt+F9 to access it.
  3. Use the passwd command to create a new password for the root user.
  4. When done, stop debug-shell.service.

Using bash as init

  1. Append the init=/bin/bash kernel parameter to your boot loader’s boot entry.
  2. Your root file system is mounted as read-only now, so remount it as read/write: mount -n -o remount,rw /.
  3. Use the passwd command to create a new password for the root user.
  4. Reboot by typing reboot -f and do not lose your password again!

Note: Some keyboards may not be loaded properly by the init system with this method and you will not be able to type anything at the bash prompt. If this is the case, you will have to use another method.

Using a LiveCD

With a LiveCD a couple methods are available: change root and use the passwd command, or erase the password field entry directly editing the password file. Any Linux capable LiveCD can be used, albeit to change root it must match your installed architecture type. Here we only describe how to reset your password with chroot, since manual editing the password file is significantly more risky.

  1. Boot the LiveCD and mount the root partition of your main system.
  2. Use the passwd --root MOUNT_POINT USER_NAME command to set the new password (you will not be prompted for an old one).
  3. Unmount the root partition.
  4. Reboot, and enter your new password.
Дополнительно:  Как установить root права на samsung galaxy s7 edge
Оцените статью
Master Hi-technology
Добавить комментарий