пятница, 3 февраля 2017 г.

Сброс пароля root в Linux

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


  • Debian 8
    1. Перегрузить машину и в списке GRUB2 выбрать строку, указывающую на требуемую операционную систему. Затем, нажать клавишу "e" (edit). В открывшемся редакторе изменяем строку начинающуюся с "linux /boot/vmlinuz...", добавив в конце строки  пробел и " init=/bin/bash". 
    2. Нажав сочетание клавиш ctrl+x продолжим загрузку системы с временно измененными параметрами.
    3. Корневая файловая система загружена в режиме Read Only (только для чтения), однако для смены пароля пользователя root нам требуется запись. Поэтому необходимо перемонтировать файловую систему: mount -rw -o remount / 
    4. Теперь командой passwd root можно сменить пароль на требуемый.
    5. Вновь перезагрузить систему.
  • CentOS 6(5) / RedHAT 6(5)
    1. Прервать выполнение GRUB, нажав клавишу Esc и затем перейти к редактированию того, что скрывается за строкой меню, нажав клавишу "a".
    2. Затрем если присутствует подстрока "rhgb quiet"
    3. Добавим в конце той же строки пробел и следом цифру 1
    4. Нажимаем Enter для продолжения загрузки
    5.  В итоге, попав в консоль с правами root, меняем пароль командой passwd.
  • СentOS 7
    1. Перегрузить машину и в списке GRUB2 выбрать строку, указывающую на требуемую операционную систему. Затем, нажать клавишу "e" (edit). В открывшемся редакторе ищем строку похожую на
      linux16 /vmlinuz-3.10.0-693.17.1.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet
      и меняем в ней параметр ro на rw и добавляем init=/sysroot/bin/sh после rw. Загружаем систему (ctrl-x). Загрузка происходит в однопользовательском (single) режиме.
    2. Набираем команду chroot /sysroot
    3. Командой passwd root меняем пароль.
    4. Если не отключен SElinux, следует обновить его параметры командой touch /.autorelabel
 (!) В версиях CentOS 6.х , где x<8 b="" selinux="">selinux=0
" в строку GRUB-а, где содержится слово kernel или же вводить команду "setenforce 0" после загрузки, перед сменой пароля.

      Комментариев нет: