Введение
Есть ситуации, когда требуется войти в систему под root, но пароль неизвестен. Общий механизм восстановления заключается в осуществлении загрузки системы в однопользовательском режиме и редактировании пароля. Этот доступ можно получить только отредактировав конфигурацию менеджера загрузки ОС. Если по какой-то причине этого сделать нельзя (установлен пароль на изменение запуска, используется «самописный» загрузчик и т.д.), то следует использовать LiveCD любого доступного дистрибутива Linux.
Этот подход к восстановлению пароля может быть использован злоумышленником с целью осуществления несанкционированного доступа. Получается, что установленная система по умолчанию не имеет должной защиты при физическом доступе к компьютеру. Злоумышленник может с легкостью получить полный доступ к системе.
Решение, которое может обезопасить от такого рода взлома ОС, заключается в установке пароля доступа к редактированию конфигурации менеджера загрузки системы. Об установке пароля на менеджер загрузки ОС можно прочитать в статье «Установка и настройка пароля на менеджер ОС GRUB».
Восстановление пароля root в дистрибутивах Linux
Дистрибутивы с включенным локальным входом root`a
К этому списку относится большинство дистрибутивов Linux. Проще говоря, это дистрибутивы, в которых можно залогиниться в системе в качестве root`a. Все примеры, приведенные ниже, относятся к дистрибутиву Mandriva.
Алгоритм восстановления пароля root в дистрибутивах с включенным локальным входом суперпользователя:
- При загрузке системы Вы попадаете в меню менеджера загрузки ОС, где списком отображены способы запуска ОС с доступными версиями ядра. В некоторых дистрибутивах используется графический режим (например Mandriva), который отключается клавишей <Esc>.
GNU GRUBversion 0.97 (639K lower / 129984K upper memory)В начале списка обычно располагается самое новое ядро, напротив которого Вам следует установить курсор и нажать клавишу <E> (Edit). В данном примере только одно доступное ядро.linux
linux-nonfb
failsafeUse 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. - Следующим шагом редактируем параметры загрузки ядра.
GNU GRUBversion 0.97 (639K lower / 129984K upper memory)В этом списке ставим курсор на пункт, который начинается со слова kernel и нажимаем клавишу <E> (Edit).kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux root=/dev/hda1→
initrd (hd0,0)/boot/initrd.imgUse 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. - К концу строки после пробела добавляем 1 и нажимаем <ENTER>.
Этот добавленный параметр позволяет запустить систему в однопользовательском режиме (Single Mode) с правами root. В следующем окне нажимаем клавишу <B> (Boot).[ 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. ]<a1 resume=/dev/hda5 splash=silent vga=788 1
- После загрузки системы меняем пароль суперпользователя root. Для этого запускаем команду:
passwd rootПри смене пароля, система не будет спрашивать старый пароль, а сразу предложит ввести новый с последующим его повторным подтверждением.sh-3.2# passwd rootПароль изменен.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully - Далее <Ctrl>+<Alt>+<Delete> и при последующем старте системы можно будет зайти под учетной записью суперпользователя root.
Дистрибутивы с отключенным локальным входом root`a
К таким дистрибутивам относятся: Ubuntu, Kubuntu, Xubuntu, Edubuntu. Идеология этих дистрибутивов запрещает работать от имени суперпользователя. Поэтому в них по умолчанию отключен локальный вход root`a на компьютер. В таких ОС только восстановить пароль недостаточно. Нужно еще включить этот самый локальный вход.
Восстановление пароля в Ubuntu, Kubuntu, Xubuntu, Edubuntu:
- При загрузке системы Вы попадаете в меню менеджера загрузки ОС, где списком отображены способы запуска ОС с доступными версиями ядра. В начале списка обычно располагается самое новое ядро, напротив которого Вам следует установить курсор и нажать клавишу <E> (Edit).
- Следующим шагом редактируем параметры загрузки ядра. В этом списке ставим курсор на пункт, который начинается со слова kernel и нажимаем клавишу <E> (Edit).
uuid b01b2698-983b-4de7-8ba5-fe9Bad772722
kernel /boot/vnlinuz-2.6.27-9-generic boot=UUID=b01b2698-983b-4de7→initrd /boot/initrd.img-2.6.27-9-generic
quiet
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. - К концу строки после пробела добавляем:
rw init=/bin/bash
В результате на экране получаем:
[ 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. ]
<-983b-4de7-Bba5-fe98ad772722 ro quiet rw init=/bin/bash
Жмем <ENTER> и затем клавишу <B> (Boot). - После загрузки системы меняем пароль root командой:
passwd root
При смене пароля, система не будет спрашивать старый пароль, а сразу предложит ввести новый с последующим его повторным подтверждением.
root@(none):/# passwd rootПароль изменен.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully - Добавляем разрешение на локальный вход суперпользователю. Для этого нужно отредактировать конфигурационный файл /etc/gdm/gdm.conf. В разделе [SECURITY], находим параметр AllowRoot и меняем его значение на true:
# Открываем файл для редактированияsudo nano /etc/gdm/gdm.confAllowRoot=falseИ меняем параметр AllowRoot на true. Должно получиться так:AllowRoot=trueЗакрываем файл, сохраняя внесенные изменения.
- Жмем <Ctrl>+<Alt>+<Delete> и при последующем старте системы можно будет зайти под учетной записью суперпользователя root.
Мне картинки понравились!
В Убунте не работает
Все работает, а точнее – http://itshaman.ru/articles/12/passwd-root-linux#22
Смотрите где-то ошиблись
В Ubuntu 9.04 восстановил пароль, спасибо большое!
В Ubuntu 9.4 server пункт 5 пропускайте
5 пункт нужно пропускать только в том случае, если разрешен локальный вход root
На RHEL5 Server нет /etc/gdm/gdm.conf
>Whu
GDM – это GNOME-приложение, работающие под иксами.
Разве на сервере RHEL убрана возможность логиниться под суперпользователем?
спасибо, а как можно отслеживать single-user mode? его можно отключить? буду признателен за ссылки.
Отключить нельзя. Это как БЕЗОПАСНЫЙ РЕЖИМ в Windows.
Можно поставить пароль на изменение GRUB:
http://itshaman.ru/articles/14/password-grub
Из всего написанного выше можно сделать вывод, что восстановление утерянного пароля root не столь уж трудоемкая работа, с которой может справиться любой заинтересованный человек.
Восстановить – нельзя. Можно только поменять.
И вообще, следует помнить, что данные, расположенные на нешифрованном разделе, можно получить при физическом доступе к серверу под любой операционной системой. Но! В том же Linux есть средства для шифрования разделов “из коробки”. Если, например, будут зашифрованы все разделы кроме /boot (который можно вообще на флэшку вынести), а станция/сервер будет залочен (консоль заблокирована), то, не зная пароля, доступ к данным нельзя будет получить даже при физическом доступе. Данные можно будет только испортить.
Вот хоть убейте не могу найти в директории (ets) /etc/gdm/gdm.conf, все в доль и поперек излазил, а фишка в чем в том что физически я захожу под рутом, а через путти не могу не пускает.
Вроде теперь нет этого конфигурационного файла в Ubuntu. Наверное, теперь это делать нужно так:
“http://help.ubuntu.ru/wiki/karmic_gdm_внешний_вид”:http://help.ubuntu.ru/wiki/karmic_gdm_внешний_вид
Да, спасибо, а то сидел долго не винде и забыл пароль для root’a
Это не уязвимость. Имея физичиский доступ, можно запуститься с live-cd и сменить права к любому файлу. Причём совсем не обязательно иметь точно такой же дистрибутив на cd. Намного важнее уязвимости, которые можно использовать удалённо, а значит на них надо обращять особое внимание.
Вы правы, но стоит каждому понимать, что такая возможность существует и она реально может быть реализуема
Спасибо автору.
На OpenSUSE 12.1 сработал вариант 2.2.
Немного повозился пока нашел вариант, но сработало все хорошо.
Помогло в AltLinux 14 Cobalt – спасибо – правда сперва думал не выйдет – загрузчик Acronics стоит при выборе систем перед загрузкой ) – а там просто надо тут же “E” нажать и тогда все идет как обычно )
я все уже сделал и вот у меня где надо ввести пароль буквы цыфры не пишутся на hp655
КОмпьютер тут ни при чем — в Linux при вводе пароля в консоли он принципиально не пишется. Сделано, на сколько мне известно, для того чтобы нельзя было оценить длину пароля по количеству звездочек)))
Это не баг, это фича любой *nix системы. Не пишутся, но — вводятся.
нету kernel что делать?
Изменл пароль а вот перезагрузиьь не могу.
С лайв сиди метод помог