Linux delete root password

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как в Linux сбросить забытый пароль входа

Если вы не можете войти в систему Linux из-за того, что забыли пароль учётной записи пользователя, то не всё потеряно! Хотя этот пароль нельзя узнать (простыми методами), но его можно сбросить и заменить на новый, данная инструкция расскажет, что делать, если забыли пароль пользователя в Linux.

Как поменять пароль для пользователя Linux

Любые пользователи из группы администраторов (чей аккаунт входит в группу wheel) могут поменять пароль для любого другого пользователя – как для непривилегированных учётных записей, так и для других администраторов, в том числе для root’a. Т.е. если вы забыли пароль root, но помните пароль пользователя, имеющего право на выполнение команд с sudo, то пароль может восстановить командой passwd. Чтобы поменять пароль пользователя root выполните:

Чтобы поменять пароль любого пользователя выполните:

Где вместо имя_пользователя нужно подставить имя учётной записи пользователя Linux.

Что делать если забыт пароль от входа Linux

Если у вас нет других административных учёток и, забыв пароль учётной записи Linux, вы не можете войти в операционную систему, то для сброса пароля нам понадобиться однопользовательский режим.

В однопользовательском режиме для входа не спрашиваются учётные данные (логин, пароль), при этом вошедший обладает правами суперпользователя. В данном режиме, используя знакомую команду passwd, есть возможность задать новый пароль.

Алгоритм во всех дистрибутивах Linux схож:

  1. Прерывание работы загрузчика GRUB
  2. Добавление опции загрузки, включающей однопользовательский режим
  3. Возобновление загрузки
  4. Изменение пароля командой passwd
  5. Перезагрузка в обычном режиме

Обратите внимание, что изменения, внесённые на втором шаге (изменение опций загрузки), являются временными – действуют только на одну последующую загрузку. Поэтому при перезагрузке на пятом шаге не нужно ничего предпринимать – система включится в обычном режиме.

Для перемещения в конец строки и в начало строки (на втором шаге) используйте сочетания клавиш Ctrl+a и Ctrl+e.

Хотя алгоритм сброса пароля root схож, но в различных дистрибутивах могут быть свои нюансы, рассмотрим их подробнее.

Примечание для UEFI: Если у вас используется UEFI вместо GRUB, то смотрите также эту статью, в ней рассказано, как изменить опции загрузки в этом случае.

Кстати: если вы хотите защитить систему от смены пароля, описанного в этой статье, смотрите материал «Как защитить загрузчик GRUB паролем».

Сброс пароля в Linux Mint, Ubuntu, Debian, Kali Linux (также должно работать для других производных Debian)

Чтобы прервать загрузку GRUB (первый шаг) во время запуска компьютера нажмите и удерживайте клавишу SHIFT – это работает всегда, даже на Linux Mint, где по умолчанию показ меню GRUB отключён.

Остановите загрузку удерживая клавишу SHIFT при запуске компьютера, вы увидите:

Нажмите клавишу «e» и вы перейдёте к редактированию настроек загрузки:

На экране отсутствует нужная нам строка, пролистните курсорными клавишами вниз и найдите строку, начинающуюся с linux:

Перейдите в конец этой строки, поставьте пробел и допишите:

Должно получиться примерно так (номер ядра может отличаться):

Когда всё готово нажмите Ctrl+x или F10, чтобы загрузка продолжилась с установленными опциями.

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

Командой passwd меняем пароль, как можно увидеть, команда passwd завершилась ошибкой:

Чтобы понять причину ошибки, введём команду:

Буквы ro говорят о том, что файловая система смонтирована только для чтения и по этой причине сделанные изменения не могут быть сохранены. Перемонтируем файловую систему:

Как видим, после этого смена пароля прошла успешно:

Для выхода наберите:

Чтобы выключить компьютер выполните:

Или перезагрузите компьютер командой:

Как сбросить пароль в Arch Linux, BlackArch (а также в других производных Arch Linux)

Во время появления меню GRUB нажмите клавишу «a», чтобы остановить загрузку:

Затем нажмите «e» для перехода к редактированию параметров загрузки:

На экране отсутствует нужная нам строка, пролистните курсорными клавишами вниз и найдите строку, начинающуюся с linux.

Перейдите в конец этой строки, поставьте пробел и допишите:

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

Когда всё готово нажмите Ctrl+x или F10, чтобы загрузка продолжилась с установленными опциями.

В Arch Linux файловая система по умолчанию монтируется с правами на запись. Поэтому можно сразу перейти к смене пароля с помощью команды

Для выхода наберите:

Чтобы выключить компьютер выполните:

Или перезагрузите компьютер командой:

Сброс пароля в RHEL/CentOS 7

Кроме необходимости смонтировать файловую систему для запиши, в RHEL/CentOS 7 также имеется особенность, связанная с наличием SELinux.

Во время появления меню GRUB нажмите клавишу «a», чтобы остановить загрузку:

Затем нажмите «e» для перехода к редактированию параметров загрузки:

На экране отсутствует нужная нам строка, пролистните курсорными клавишами вниз и найдите строку, начинающуюся с linux16:

Найдите часть строки

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

Когда всё готово нажмите Ctrl+x или F10, чтобы загрузка продолжилась с установленными опциями.

Проверим права на запись:

Как можно убедиться, права на запись отсутствуют. Перемонтируем файловую систему с правами записи:

Пароль изменён, но дело ещё не закончено. Нам нужно переобозначить контекст SELinux. Если мы не выполним переобозначение всего контекста SELinux, мы не сможем войти используя новый пароль. Для этого:

Читайте также:  Epson l120 linux driver

Для выхода наберите:

Чтобы выключить компьютер выполните:

Или перезагрузите компьютер командой:

Что такое группа wheel в Linux

Применительно к компьютерам, термин wheel относится к учётным записям пользователя с битом wheel – системному параметру, который предоставляет дополнительные специальные системные привилегии, которые позволяют пользователю выполнять команды для служебного пользования, к которым обычные пользователи не могут получить доступ. Этот термин происходит от сленговой фразы big wheel (букв. «большое колесо»), отсылающего на человека с большой властью или влиянием. Он был впервые использован в этом контексте в отношении операционной системы TENEX, позже распространенной под названием TOPS-20 в 1960-х и начале 1970-х годов.

Этот термин был принят пользователями Unix в 1980-х годах из-за движения разработчиков операционной системы и пользователей от TENEX/TOPS-20 к Unix.

Современные системы Unix обычно используют группы пользователей в качестве протокола безопасности для управления правами доступа. Группа wheel – это особая группа пользователей, используемая в некоторых системах Unix для управления доступом к команде sudo, которая позволяет пользователю маскироваться как другой пользователь (обычно суперпользователь).

Что такое однопользовательский режим в Unix

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

Unix-подобные операционные системы обеспечивают однопользовательский режим работы либо с помощью уровня выполнения в стиле System V, либо с загрузчиками в стиле BSD, либо с другими параметрами загрузки.

Уровень выполнения обычно изменяется с помощью команды init, уровень выполнения 1 или S будет загружаться в однопользовательский режим.

Параметры загрузчика могут быть изменены во время запуска перед выполнением ядра. В FreeBSD и DragonFly BSD он может быть изменен перед перезагрузкой системы с помощью команды nextboot -o «-s» -k kernel, и ее загрузчик предложит возможность загрузки в однопользовательском режиме. В Solaris команда

приведет к перезагрузке в однопользовательском режиме.

В GRUB 2 нельзя изменить пароль в однопользовательском режиме?

В официальной документации Red Hat мне встретилось утверждение, что в GRUB 2 больше не выполняется сброс пароля в однопользовательском режиме, как это было в GRUB. И что теперь для работы в однопользовательском режиме, а также в аварийном режиме требуется пароль рута. Возможно, это применимо только к последним версиям Red Hat Enterprise Linux, поскольку, как видно из этой инструкции и скриншотов, в GRUB 2 можно изменить пароль в однопользовательском режиме. В документации, на которую дана ссылка, описано два способа сброса пароля root в Red Hat Enterprise Linux на тот случай, если описанный здесь метод не сработал.

Источник

Как сбросить root-пароль Linux-сервера

Если вы забыли root-пароль от Linux-сервера в облаке и sudo прав на машину у других пользователей нет, то воспользуйтесь моей инструкцией, чтобы сбросить root-пароль под различные ОС.

Centos 7 x86_64 + Centos 7 x86_64 Webuzo

1. Нажмите на кнопку Send Ctrl+Alt+Del в консоли — это перезагрузит сервер. Во время загрузки нужно «поймать» меню загрузчика. нашем образе CentOS 7 используется Grub.

2. Как только вы увидите на экране такую картинку, нажмите пробел или кнопку вниз — это прервет отсчет времени:

3. Grub некоторое время «думает» на этом меню загрузки. Поэтому надо дать ему понять, что не нужно автоматически продолжать загрузку с опциями по умолчанию, и что мы хотим работать с его меню.

4. Стрелками выбираем нужное ядро, которое отображено на скриншоте, и вводим «e» латиницей.

5. Теперь мы можем редактировать опции загрузки ядра:

6. Стрелками переходим к началу строки, которая начинается с «linux16». Это указание пути к файлу ядра, которое нужно загрузить, а также опции загрузки. Нам нужно переписать эти опции, чтобы попасть в ОС без root-пароля.

  • Меняем ro на rw
  • Меняем первое значение console=tty0 на console=tty
  • Удаляем 2 значения: console=ttyS0,115200n8 и console=ttyS0,115200
  • В конце добавляем init=/bin/bash

Было:

Стало:

7. После изменения нажимаем комбинацию клавиш CTRL+X, что перезагружает ядро с новыми опциями.

8. Если мы все сделали корректно, увидим следующее:

9. Мы попали на сервер от root без пароля и можем сбросить сам пароль.

Для начала проверяем, можно ли внести изменения в файловую систему. Для этого в консоли вводим:

Если все сделали правильно, увидим такой экран:

На экране мы должны видеть опцию rw, которую мы задавали в настройках — не ro.
Если видим ro, нужно перемонтировать файловую систему в rw:

После монтирования нужно снова перепроверить, что опция указана как rw, при помощи команды из предыдущего пункта.

10. Сбрасываем пароль командой:

Важно! Новый пароль не отображается даже звездочками. Поэтому нужно вводить его вслепую дважды.
Еще важнее! Если вы не выключали Selinux, вам также понадобится заставить его перечитать контексты. Для этого надо создать файл /.autorelabel, который даст Selinux понять, что нужно перечитать контекст. Без этого мы не сможем залогиниться с новым паролем:

11. После этого, на всякий случай, выполняем команду sync, чтобы все изменения из оперативной памяти записались на диск:

12. Чтобы изменения применились, перезагрузите сервер.
Команды reboot и shutdown -r и кнопка «Send Ctrl+Alt+Del» не подойдут. Они рассчитывают на init-демона, который мы подменили процессом /bin/bash.
Поэтому нужно сделать hard reboot сервера (Холодная перезагрузка) из контрольной панели, или запустить init-демона вручную. Это можно сделать, выполнив команду:

13. После перезагрузки можем зайти на сервер от имени root с новым паролем.

Читайте также:  Ven 197b dev 2392 windows 10

Fedora 28

1. Нажмите на кнопку «Send Ctrl+Alt+Del» в консоли — это перезагрузит сервер. В процессе загрузки нужно «поймать» меню загрузчика. В нашем образе Fedora используется Grub.
Как только вы увидите на экране такую картинку, нажмите пробел или кнопку вниз — это прервет отсчет времени:

2. Grub некоторое время «думает» на этом меню загрузки. Поэтому надо дать ему понять, что не нужно автоматически продолжать загрузку с опциями по умолчанию, и что мы хотим работать с его меню. Для этого вводим «e» латиницей.

Появляется возможность редактировать опции загрузки ядра.

3. Стрелками переходим к началу строки, что начинается с «linux16». Это указание пути к файлу ядра, которое нужно загрузить, а также опции загрузки. Нам нужно переписать эти опции, чтобы попасть в ОС без root-пароля.

  • Меняем ro на rw
  • Меняем первое значение console=tty1 на console=tty
  • Удаляем значение console=ttyS0,115200n8
  • В конце добавляем rd.break enforcing=0

Было:

Стало:

4. После изменений нажимаем комбинацию клавиш CTRL+X. Это перезагружает сервер с новыми опциями.
Если все сделали правильно, видим следующее:

5. Мы зашли в «emergency recovery» консоли.
Сначала проверяем, можем ли вносить изменения в файловую систему. Для этого в консоли вводим:

Если все сделали правильно, увидим следующее:

Нас интересует опция rw, которую мы задавали в настройках. Должна быть указана она — не ro.
Если видим ro — нужно перемонтировать файловую систему в rw:

6. После монтирования снова проверьте, что опция при проверке указана как rw, при помощи команды из предыдущего пункта.

7. Сбрасываем пароль:

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

8. После этого, на всякий случай, выполняем команду sync — чтобы все изменения из оперативной памяти записались на диск:

2 раза вводим команду:

9. После этого пойдет нормальная загрузка ОС. Дожидаемся окончания загрузки и входим с новым паролем.

10. Теперь нужно поправить Selinux после нашего вмешательства. Отдаем команды от root:

Файл /etc/shadow перечитывается для Selinux и включается режим обратно в Enforcing.

openSUSE Leap 42

Если вы настраивали пароль на Grub-загрузчик и не помните его тоже этот способ вам не подойдет. Вам нужно будет загрузить сервер с другого источника — например, с OpenSuse Install DVD образа.

1. Нажмите на кнопку «Send Ctrl+Alt+Del» в консоли — это перезагрузит сервер. В процессе загрузки нужно «поймать» меню загрузчика. В нашем образе openSUSE используется Grub.

Как только вы увидите на экране такую картинку, нажмите пробел или кнопку вниз — это прервет отсчет времени:

2. Grub некоторое время «думает» на этом меню загрузки. Поэтому надо дать ему понять, что не нужно автоматически продолжать загрузку с опциями по умолчанию, и что мы хотим работать с его меню. Для этого вводим «e» латиницей.

Появляется возможность редактировать опции загрузки ядра.

Чтобы восстановить пароль, мы можем использовать как single-user mode, так и трюк с init=/bin/bash. Поскольку возможно, что у вас single-user mode настроен так, чтобы все равно запрашивать root-пароль, мы сразу опишем способ с запуском bash как init процессом.

Наши образы openSUSE используют Grub как загрузчик. Если вы использовали свой образ openSUSE, ваш загрузчик может оказаться не Grub, а LiLo. В таком случае, синтакс будет отличаться.

3. Стрелками переходим к началу строки, что начинается с «linux». Это указание пути к файлу ядра, которое нужно загрузить, а также опции загрузки. Нам нужно переписать эти опции, чтобы попасть в ОС без root-пароля.
Делаем следующее:

  • Удаляем значение: console=ttyS0,115200n8
  • Меняем значение console=tty0 на console=tty
  • В конце добавляем init=/bin/bash

Было:

Стало:

4. После изменения нажимаем комбинацию клавиш CTRL+X, что выполняет перезагрузку с новыми опциями.

5. Если все было выполнено корректно, видим такую картину:

Мы попали на сервер от root без пароля и можем выполнить сброс самого пароля.

6. Для начала выполняем монтирование файловой системы для возможности внесения изменений, в консоли вводим:

Проверяем корректность изменений:

Если все было выполнено правильно, мы увидим следующее:

Нас интересует опция rw, должна быть указана именно она, а не ro.

7. Сбрасываем пароль командой:

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

8. После этого, на всякий случай, выполняем команду sync, чтобы все изменения из оперативной памяти записались на диск:

9. Далее нужно выполнить перезагрузку сервера для применения изменений.
Команды reboot и shutdown -r и кнопка «Send Ctrl+Alt+Del» не подойдут. Они рассчитывают на init-демона, который мы подменили процессом /bin/bash.
Поэтому нужно сделать hard reboot сервера (Холодная перезагрузка) из контрольной панели, или запустить init-демона вручную. Это можно сделать, выполнив команду:

13. После перезагрузки можем зайти на сервер от имени root с новым паролем.

Ubuntu 14.04

1. Нажмите на кнопку «Send Ctrl+Alt+Del» — это перезагрузит сервер. Сразу выделяем область консоли мышью. В процессе загрузки требуется успеть «поймать» меню загрузчика В нашем образе Ubuntu используется Grub.

2. В Canonical меню Grub обычно не видно. Чтобы его вызвать, надо зажать клавишу Shift (только левый) в процессе загрузки, как только мелькает надпись Booting from hard disk.

Если с первого раза не получится, пробуйте еще раз.

В результате вы должны получить следующую картинку:

3. На первом пункте Ubuntu нажимаем e латиницей и видим следующее:

4. Стрелками переходим к началу строки, которая начинается с «linux». Это указание пути к файлу ядра, которое нужно загрузить, а также опции загрузки. Нам нужно переписать эти опции, чтобы попасть в ОС без root-пароля.
Делаем следующее:

  • Меняем ro на rw
  • Меняем первое значение console=tty1 на console=tty
  • Удаляем значение: console=ttyS0
  • В конце добавляем init=/bin/bash
Читайте также:  Real time monitoring windows

Было:

Стало:

5. После изменения нажимаем комбинацию клавиш CTRL+X, что выполняет перезагрузку с новыми опциями.

Если все сделали правильно, видим следующее:

Мы попали на сервер от root и можем сбросить пароль.

6. Выполняем проверку возможности внесения изменений в файловую систему:

Если все сделали правильно, видим следующее:

Нас интересует опция rw, которую мы задавали в настройках. Должна быть указана она — не ro.

7. Если видим ro — нужно перемонтировать файловую систему в rw:

8. После монтирования снова проверьте, что опция при проверке указана как rw, при помощи команды из предыдущего пункта.

9. Сбрасываем пароль командой:

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

Еще важнее! Если вы не выключали Selinux, вам также понадобится заставить его перечитать контексты. Для этого надо создать файл /.autorelabel, который даст Selinux понять, что нужно перечитать контекст. Без этого мы не сможем залогиниться с новым паролем:

10. После этого, на всякий случай, выполняем команду sync, чтобы все изменения из оперативной памяти записались на диск:

11. Чтобы изменения применились, перезагрузите сервер.

Команды reboot и shutdown -r и кнопка «Send Ctrl+Alt+Del» не подойдут. Они рассчитывают на init-демона, который мы подменили процессом /bin/bash.
Поэтому нужно сделать hard reboot сервера (Холодная перезагрузка) из контрольной панели, или запустить init-демона вручную. Это можно сделать, выполнив команду:

13. После перезагрузки можем зайти на сервер от имени root с новым паролем.

Ubuntu 16.04

1. Нажмите на кнопку «Send Ctrl+Alt+Del» — это перезагрузит сервер. Сразу выделяем область консоли мышью. В процессе загрузки требуется успеть «поймать» меню загрузчика В нашем образе Ubuntu используется Grub.

2. В Canonical меню Grub обычно не видно. Чтобы его вызвать, надо зажать клавишу Shift (только левый) в процессе загрузки, как только мелькает надпись Booting from hard disk.
Если с первого раза не получится, пробуйте еще раз.
В результате вы должны получить следующую картинку:

3. Стрелками выбираем «Advanced options for Ubuntu» и нажимаем Enter, видим следующее:

4. Выбираем пункт с (recovery mode) и нажимаем Enter.

5. Выбираем пункт «root Drop to root shell prompt» и нажимаем Enter:

7. В наших шаблонах ОС Ubuntu не нужно вводить дополнительный пароль. Мы попадаем на сервер от root без него.

8. Для начала выполняем проверку возможности внесения изменений в файловую систему, в консоли вводим:

Нас интересует опция rw, которую мы задавали в настройках. Должна быть указана она — не ro.

9. Если видим ro — нужно перемонтировать файловую систему в rw:

10. После монтирования снова проверьте, что опция при проверке указана как rw, при помощи команды из предыдущего пункта.

11. Сбрасываем пароль командой:

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

12. После этого, на всякий случай, выполняем команду sync, чтобы все изменения из оперативной памяти записались на диск:

13. Чтобы изменения применились, перезагрузите сервер.
Команды reboot и shutdown -r и кнопка «Send Ctrl+Alt+Del» не подойдут. Они рассчитывают на init-демона, который мы подменили процессом /bin/bash.
Поэтому нужно сделать hard reboot сервера (Холодная перезагрузка) из контрольной панели, или запустить init-демона вручную. Это можно сделать, выполнив команду:

14. После перезагрузки можем зайти на сервер от имени root с новым паролем.

Debian 8 + Debian 9

1. Нажмите на кнопку «Send Ctrl+Alt+Del» — это перезагрузит сервер. Сразу выделяем область консоли мышью. В процессе загрузки требуется успеть «поймать» меню загрузчика В наших образах Debian используется Grub.

2. В Canonical меню Grub обычно не видно. Чтобы его вызвать, надо зажать клавишу Shift (только левый) в процессе загрузки, как только мелькает надпись Booting from hard disk.

Если с первого раза не получится, пробуйте еще раз.

В результате вы должны получить следующую картинку:

3. В отличие от Ubuntu, root-пользователь в Debian образе закрыт (на пароле). Потому мы не сможем воспользоваться штатным Rescue вариантом загрузки.
Нужно поправить опции загрузки.

4. Выбираем пункт Debian GNU/Linux и нажимаем e латиницей.

5. Попадем в конфигурацию выбранного пункта меню:

6. Стрелками переходим к началу строки, которая начинается с «linux». Это указание пути к файлу ядра, которое нужно загрузить, а также опции загрузки. Нам нужно переписать эти опции, чтобы попасть в ОС без root-пароля.
Делаем следующее:

  • Меняем ro на rw
  • Меняем первое значение console=tt0 на console=tty
  • Удаляем 2 значения: console=ttyS0,115200 и earlyprintk=ttyS0,115200
  • в конце добавляем init=/bin/bash

Было:

Стало:

7. После изменения нажимаем комбинацию клавиш CTRL+X, видим меню и нажимаем Enter.

8. Мы попали на сервер от root и можем сбросить пароль.
Выполняем проверку возможности внесения изменений в файловую систему:

Если все сделали правильно, видим следующее:

Нас интересует опция rw, которую мы задавали в настройках. Должна быть указана она — не ro.

9. Если видим ro — нужно перемонтировать файловую систему в rw:

10. После монтирования снова проверьте, что опция при проверке указана как rw, при помощи команды из предыдущего пункта.

11. Сбрасываем пароль командой:

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

12. После этого, на всякий случай, выполняем команду sync, чтобы все изменения из оперативной памяти записались на диск:

13. Чтобы изменения применились, перезагрузите сервер.
Команды reboot и shutdown -r и кнопка «Send Ctrl+Alt+Del» не подойдут. Они рассчитывают на init-демона, который мы подменили процессом /bin/bash.
Поэтому нужно сделать hard reboot сервера (Холодная перезагрузка) из контрольной панели, или запустить init-демона вручную. Это можно сделать, выполнив команду:

14. После перезагрузки можем зайти на сервер от имени root с новым паролем.

Источник

Оцените статью