Без перезагрузки

Без перезагрузки

Если мы не знаем пароль root и не имеем доступа root к машине, как мы можем изменить пароль root?

решение1

Вот несколько способов, которые приходят мне на ум, от наименее навязчивых до наиболее навязчивых.

Без перезагрузки

С помощью sudo:Если у вас есть sudoразрешения на запуск passwd, вы можете сделать:

sudo passwd root

Входитьтвойпароль, затем дважды введите новый пароль для root. Готово.

Редактирование файлов: это работает в маловероятном случае, если у вас нет полного sudoдоступа, но выделатьиметь доступ на редактирование /etc/{passwd,shadow}. Открыть /etc/shadow, либо с помощью sudoedit /etc/shadow, либо с помощью sudo $EDITOR /etc/shadow. Заменить поле пароля пользователя root (все случайные символы между вторым и третьим двоеточием :) на поле пароля вашего пользователя. Сохранить. У локального пользователя такой же пароль, как у вас. Войдите в систему и измените пароль на что-то другое.

Это самые простые.

Требуется перезагрузка

Однопользовательский режим: Это только что объяснил Ренан. Это работает, если вы можете добраться до GRUB (или вашего загрузчика) и можете редактировать командную строку Linux. Это не работает, если вы используете Debian, Ubuntu и некоторые другие. Некоторые конфигурации загрузчика требуют пароль, и вы должны знать его, чтобы продолжить. Без лишних слов:

  1. Перезагрузить.
  2. Введите пароль загрузки, если таковой имеется.
  3. Войдите в меню вашего загрузчика.
  4. Если доступен однопользовательский режим, выберите его (в Debian он называется «режим восстановления»).
  5. Если нет, и вы запускаете GRUB:
    1. Выделите вариант обычной загрузки.
    2. Нажмите e, чтобы войти в режим редактирования. Там вас могут попросить ввести пароль GRUB.
    3. Выделите строку, начинающуюся с kernelили linux.
    4. Нажимать e.
    5. Добавьте слово «single» в конце. (не забудьте поставить пробел!)
    6. Нажмите Enterи загрузите отредактированную строфу. Некоторые GRUB используют Ctrl- X, некоторые используют b. Внизу экрана указано, какой именно.

Ваша система загрузится в однопользовательском режиме. Некоторые дистрибутивы не будут спрашивать у вас пароль root на этом этапе (Debian и основанные на Debian делают это). Теперь вы root. Измените свой пароль:

mount / -o remount,rw
passwd # Enter your new password twice at the prompts
mount / -o remount,ro
sync # some people sync multiple times. Do what pleases you.
reboot

и reboot, или, если вы знаете свой обычный уровень выполнения, скажем telinit 2(или как там).

Заменаinit: внешне похоже на трюк с однопользовательским режимом, с практически теми же инструкциями, но требует гораздо большего мастерства в работе с командной строкой. Вы загружаете свое ядро, как указано выше, но вместо single, вы добавляете init=/bin/sh. Это будет работать /bin/shвместо init, и даст вамоченьРанняя оболочка почти без удобств. На этом этапе ваша цель:

  1. Смонтируйте корневой том.
  2. Бегите passwd.
  3. Измените свой пароль с помощью passwdкоманды.

В зависимости от вашей конкретной настройки, они могут быть тривиальными (идентичными инструкциям для однопользовательского режима) или весьма нетривиальными: загрузка модулей, инициализация программного RAID, открытие зашифрованных томов, запуск LVM и т. д. Без initвы не запускаете демонов или какие-либо другие процессы, кроме /bin/shи его дочерних процессов, так что вы буквально предоставлены сами себе. У вас также нет управления заданиями, поэтому будьте осторожны с тем, что вы вводите. Один не на своем месте, catи вам, возможно, придется перезагрузиться, если вы не можете выйти из него.

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

 # do some stuff to make your root volume available.
 # The rescue disk may, or may not do it automatically.
 mkdir /tmp/my-root
 mount /dev/$SOME_ROOT_DEV /tmp/my-root
 $EDITOR /tmp/my-root/etc/shadow
 # Follow the `/etc/shadow` editing instructions near the top
 cd /
 umount /tmp/my-root
 reboot

Очевидно, $SOME_ROOT_DEVэто любое имя блочного устройства, назначенное вашей корневой файловой системе диском восстановления, и $EDITORваш любимый редактор (который может быть viв системе восстановления). После этого rebootразрешите машине загрузиться в обычном режиме; пароль root будет паролем вашего пользователя. Войдите в систему как root и немедленно измените его.

Другие способы

Очевидно, что существует бесчисленное множество вариаций вышесказанного. Все они сводятся к двум шагам:

  1. Получите root-доступ к компьютеру (уловка-22 — и настоящий трюк)
  2. Измените пароль root каким-либо образом.

решение2

Я думаю, это должно работать практически на любом дистрибутиве.

Если вы можете получить доступ к корневому разделу из другой системы, например, с Live CD, вы можете как root оттуда редактировать /etc/shadow; сначала вам нужно chmod u+w shadow. Найдите запись для root, она, вероятно, первая и выглядит примерно так:

root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::

Сотрите все между первыми двумя двоеточиями, чтобы получилось:

root::15666:0:99999:7:::

Затем chmod u-w shadow. Теперь вы можете перезагрузить систему, и у root не будет пароля. Вы можете просто ввести rootв приглашении на вход, и он не будет запрашиваться. Затем вы можете использовать , passwdчтобы установить его.

Будьте особенно осторожны:

  • Создайте резервную копию /etc/shadowпервого.
  • Не входите в систему как кто-либо, кроме root, пока не установите новый пароль. Это не критично, но защищает от теоретической возможности непривилегированного вредоносного ПО, которое может сделать что-то вродепривет Мэри проход(«Эй, может, нет пароля root...»). На мой взгляд, это немного надуманно.

решение3

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

Если вы забыли пароль root, вы можете загрузиться в однопользовательском режиме и использовать его для смены пароля. Этот подход описан впошаговое руководство Red Hat:

  1. Войдите в меню GRUB и нажмите e.
  2. Выберите строку, начинающуюся с kernel, нажмите eеще раз.
  3. В конце этой линии поставьте single. Затем нажмите ENTERи bвыйдите из нее.

В конечном итоге вы получите приглашение, где вы можете ввести passwd rootи изменить пароль. Затем введите , rebootчтобы перезагрузить систему.

Связанный контент