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

http://www.makeuseof.com/tag/how-to-reset-any-linux-password/
  • Перевод

Давайте рассмотрим несколько способов сбрасывания системного пароля в Linux. Вы наверное знаете, что у пользователя root есть права на изменение пароля любого пользователя в системе. А что если вы забыли пароль от рута? Вот об этом и пойдет речь в статье.

При восстановления пароля (рута или любого другого пользователя) встречаются две различные ситуации, требующие разного подхода.

Когда можно использовать GRUB


Если у вас установлен загрузчик GRUB и есть доступ к редактированию параметров загрузки выделенной строки, то задача становится очень простой. Следуйте дальнейшим рекомендациям, и получите права рута в кратчайшие сроки. А как только вы станете рутом, сразу сможете сделать все что угодно.
  • В окне загрузчика GRUB выделите строку с  нужной версией линукса, для которого вам нужно сбросить пароль
  • Нажмите 'e' для редактирования. Выберите строку ядра. Добавьте 'single' в конец строки. Нажмите 'b' для загрузки. Если система продолжает запрашивать пароль рута, добавьте в конец строки  init=/bin/bash Снова нажмите 'b' для загрузки




  • После этого вы либо увидите приглашение для рута, либо восстанавливающее меню, где нужно выбрать строку с рутом. Используйте passwd <имя пользователя> для того чтобы изменить пароль у любого пользователя 


  • Выполните команду reboot для перезагрузки системы и затем авторизуйтесь с новым паролем

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

Когда нет возможности использовать GRUB


Если вы не используете GRUB по каким-то причинам, вы можете восстановить пароль с помощью live CD (Я буду использовать Ubuntu live CD, вы можете взять любой другой). Просто следуйте дальнейшим инструкциям:
  • Загрузитесь с live CD
  • Выберите «Попробовать Ubuntu без изменений на вашем компьютере» (Try Ubuntu without any changes to your computer)


  • Когда система будет готова, запустите окно терминала и приготовьтесь к выполнению некоторых действий в командной строке
  • Напечатайте в окне терминала sudo fdisk -l. В результате мы узнаем, в какой раздел диска установлен линукс и непосредственно имя самого жесткого диска, в представленном примере нужный нам раздел называется /dev/sda1 . Если вы точно знаете нужный раздел, этот шаг можно пропустить.


  • Далее нам нужно монтировать линукс-раздел. Для этого создайте папку, в качестве точки для монтирования, используя команду: sudo mkdir /media/linx_part



  • Примонтируйте линукс-раздел командой sudo mount /dev/sda1 /media/linx_part



  • Измените рута в примонтированном разделе — sudo chroot /media/sda1
  • Используйте passwd для изменения текущего пароля на новый


  • Перезагрузите систему с помощью команды reboot

Возможно у вас есть свои методы восстановления пароля? Поделитесь ими.
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 66
  • +8
    Ставьте пароль на бутлоадер и шифруйте / — и будет вам счастье :)
    • –5
      + еще можно вообще отключить вход с консоли =)
      • –3
        А если у вас иксы умерли? =)
        «Делай как вендузятнег» — реинсталл системы?
        • +4
          У меня на сервере нет иксов. Вот такой вот суровый админ.
          • +5
            Ок. Сгорает сетевая. Ставите новую. Сюрприз! Нет модуля в ядре для этой карты. Сети => SSH нет. Консольный вход — отключен. Ваши действия? =)

            Зачем создавать себе геморой? :)
            • +1
              1) у меня для сервера есть запасное железо
              2) есть определенные причины когда надо, что бы не было доступа локально
              3) Кластер не кто не отменял =)
              • +1
                спишите это все на мою паранойю/и нечем заняться.
        • НЛО прилетело и опубликовало эту надпись здесь
          • +3
            О! А мануальчик по такому можно? :)

            Я только авторизацию по флешке делал.
            • 0
              Я тоже такое хочу. Где прочитать?
              • НЛО прилетело и опубликовало эту надпись здесь
          • +5
            sudo chroot /media/sda1
            может быть:
            sudo chroot /media/linx_part?
            • –2
              Хотя, предполагаю, что и то и то будет работать одинаково.
            • НЛО прилетело и опубликовало эту надпись здесь
              • +1
                элементарные вещи для любого линуксоида. убунтоидам должно быть интересно. и да, в интернете таких статей несколько милиардов.
                • +2
                  Скажем, я убунтоид, статья для новичка, который первый раз столкнулся с такой проблемой не плоха. Лично мне интереса не представляет, так как давно в Слаке намучился с такими проблемами.
                  • НЛО прилетело и опубликовало эту надпись здесь
                  • 0
                    /etc/password, /etc/shadow
                    • +3
                      /etc/passwd тогда уж ;)
                      • +5
                        Да, забылся… Все равно /etc/pas{tab}
                    • +2
                      Можно напрямую редактировать /etc/shadow — нужно удалить хеш пароля.
                      Например строка вида root:xxx:yyy:zzz:www:rrr::: -удалим xxx, пароль будет пустой, потом его можно создать командой passwd
                      • 0
                        Чтобы не делать chroot? Как вариант, но не самый лучший.
                        • +1
                          Можно загрузится с под Knoppix и сделать что ты говоришь.
                          • 0
                            Например так, хехе:
                            (от рута)
                            awk 'BEGIN{FS=":"} { if ($1 ~ /^root$/ && $2 ~ /.*/) $2 = ""; print $0}' /etc/shadow > /tmp/shadow && mv /tmp/shadow /etc/shadow
                          • 0
                            Что-то как-то просто и небезопасно. Но, за статью спасибо, как начинающему линуксоиду уже раз приходилось систему переустанавливать после того, как пароль был благополучно забыт.
                            • +1
                              Если у вас физический доступ к компу, то все остальное вобщем-то ломается.
                              Хотите большей безопасности — шифруйте раздел, но тогда забытый пароль восстановить не удастся, забыл пароль — все сноси.
                              • +3
                                =))))) Если только не приделать «Востановление пароля» с высылкой на e-mail =)
                              • 0
                                блин, это только в винде зачем то палки в колеса вставляют, и нет никакого штатного способа сбросить пароль админа, при наличие доступа к файловой системе, зачем такие извращения если честно мне не совсем понятно.

                                (если есть какой то штатный способ, готов получить ссылкой, про нештатные знаю)
                                • 0
                                  штатных действительно нет… но есть множество атак на изменение пароля администратора…
                                  например с подменом cmd заставки…
                                  нештатный и мой любимый ERD commander (infr@ live cd)
                                  • 0
                                    Насколько я помню — фищка с cmd не работает в последних SP.
                                    • 0
                                      сколько последних версий с всем заплатками можно найти в офисах?
                                      процентов 70 прокатит.
                                      но лучше ERD
                                      • 0
                                        Да ну? Большинство _адекватных_ Win-админов первое, что делают придя в офис — поднимают WSUS и сервер обновлений антивируса.

                                        Может, у меня просто все адекватные знакомые… Но тех, кто живет без обновлений системы — единицы.
                                        • 0
                                          ЕРД безусловно лучше. Но ХР вообще без СП вряд ли уже найдешь.
                                • –2
                                  Боян =) (без обид). Да и рутовый пароль в бубунте можно (гораздо легче и быстрее) изменить после простого «sudo su». Пора бы уже придумать товарищам разработчикам ФС устанавливать пароли на доступ к разделам, с шифрованием на уровне драйверов ФС.
                                  • 0
                                    эээ, чет я не понял, если вам нужно, что вам мешает использовать шифрование ФС сейчас?
                                    • 0
                                      а смысл? в большинстве случаев хватает разграничения прав, где его не хватает делается шифрование… и да sudo доступна только судоерам, что в реальной (не домашней) системе получить не так то просто
                                    • +3
                                      А я в скохе по-другому сбрасывал. Загружал, MS DOS, запускал Norton Disk Doctor и менял зашифрованный пароль на свой зашифрованный пароль. Прямо в /etc/shadow, находил этот блок на диске, и в путь. :)
                                      • 0
                                        А можно вообще на биос пароль поставить пока не введешь дальше биоса не уйдешь :), при условии, что корпус компьютера запаян :)
                                        • +2
                                          нуда, AWARD_SW и тому подобное. :)
                                          • –1
                                            Действовало только на 486 и первых пнях. Тобишь до версии 4.51 авардовского биоса. Далее lkwpeter-ов и прочих не стало
                                          • 0
                                            … При условии что компьютер — ноутбук. Там быает совсем интересно, особенно в старых моделях.
                                            • +2
                                              О да! И срок службы батареи 25 лет. И батарея запихорена куда-то в EEPROM. Вы об этом?
                                            • 0
                                              С условием что нету Superpassword!
                                            • +4
                                              Могу добавить:
                                              1) Загрузочный диск надо иметь той же архитектуры (т.е. если у вас x86_64 — лайвсиди нужен x86_64 и т.п.)
                                              2) Если на загрузочном диске и в поциенте используется разные оболочки (тот же system rescue cd юзает ZSH, а в бубунте его по умолчанию нет) то можно получить ругательства вида
                                              chroot: cannot run command `/bin/zsh': No such file or directory
                                              Эту проблему решил по-быстрому созданием ссылки
                                              ln -s /media/linx_part/bin/bash /media/linx_part/bin/zsh
                                              хотя скорее всего существуют более корректные и идеологически правильные решения :)
                                              • +1
                                                там вроде
                                                $sudo chroot /mnt/lin_part /bin/bash
                                                и оно запускает баш
                                                • 0
                                                  угу, точно, спасибо… Что-то я невнимательно скурил man chroot :)
                                                  chroot NEWROOT [COMMAND...]

                                                  If no command is given, run ‘‘${SHELL} -i’’ (default: /bin/sh).
                                                • 0
                                                  chroot /mnt/mountpoint /path_to_shell_on_mount_point
                                                  • 0
                                                    1) Загрузочный диск надо иметь той же архитектуры (т.е. если у вас x86_64 — лайвсиди нужен x86_64 и т.п.)

                                                    Можно и старше. Т.е. если стоит i386, можно сделать chroot из x86_64, но не наоборот. Исключение, вырубленная в 64 битном ядре поддержка 32 битных бинарок, но это редкость.
                                                    • 0
                                                      Исключение #2: x86_64 система, собранная без multilib.
                                                      • 0
                                                        По моему multilib тут не причем. Есть ядро, оно 64 битное, при chroot появляется новое окружение и в этом окружении уже загружается /bin/bash, он уже никакого отношения к исходной системе не имеет (почти), все библиотеки подгружаются из нового окружения, в том числе и glibc. Если ядро может выполнять 32 битный код, то все должно работать.
                                                    • 0
                                                      linux32 chroot /mnt/mnt /bin/bash точно работает из 64 бит
                                                      linux64 еще есть в 32х битной системе, но хз что получится из этого, нет шанса проверить.
                                                      • 0
                                                        setarch — change reported architecture in new program environment and set personality
                                                        flags.

                                                        Насколько я понял ман, это просто обходка для `uname -m` и переменных (HOSTTYPE, ARCH, MACHINETYPE).
                                                        • 0
                                                          setarch — change reported architecture in new program environment and set personality
                                                          flags.

                                                          Насколько я понял ман, это просто обходка для `uname -m` и переменных (HOSTTYPE, ARCH, MACHINETYPE).
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                        • +1
                                                          s/Измените рута в примонтированном разделе/Подмените текущий корень на смонтированный раздел/
                                                          вы, видимо, не понимаете сути процесса
                                                          • +1
                                                            как-то я забыл пароль рута, но помнил свой пользовательский пароль (настроил и забыл, ага)
                                                            просто загрузился в Windows, скачал какую-то утилиту для работы с ext2, открыл файл с паролями и подставил руту зашифрованный пароль от своего пользователя :)
                                                            • 0
                                                              странно, кстати, что линух так просто шифровал пароли, без добавления имени в качестве «соли», например, что сделало бы такой обход пароля невозможным
                                                              • 0
                                                                это не сильно усложнило бы задачу.
                                                            • 0
                                                              спасибо за материал, но есть механическая ошибка:
                                                              если смонтировали раздел в linx_part
                                                              sudo mount /dev/sda1 /media/linx_part
                                                              то и chroot в него
                                                              sudo chroot /media/linx_part
                                                              sudo chroot /media/sda1 — ошибка?
                                                              • 0
                                                                Только сегодня сбрасывал пароль знакомому в его OpenSUSE… вариант с init=/bin/bash — не прошел, скорее всего в SUSE init через параметры ядра не переопределяется.
                                                                Так же не помог вариант перехода на 1 runlevel (отлично работало в Mandriv'е).
                                                                С liveCD вариант не подходил, так как на машине была 64битная ОС, а liveCD был Ubuntu x86.
                                                                В итоге, пришлось очистить пароль в /etc/shadow
                                                                Вывод: необходимо помнить обо всех способах сброса пароля (на всякий случай)!
                                                                • 0
                                                                  только что проделал вариант с init=/bin/bash на opensuse 11.0 — все великолепно сработало.
                                                                  • 0
                                                                    К сожалению я не помню версию, которая стояла у знакомого… Возможно были внесены изменения в конфигурацию, уже после установки системы… Я честно говоря сам удивился, когда машина загрузилась в обычном режиме, проигнорировав этот параметр ядра…

                                                                    PS Прошу прощение за нижний комментарий добавленный не в ту ветку…
                                                                • 0
                                                                  К сожалению я не помню версию, которая стояла у знакомого… Возможно были внесены изменения в конфигурацию, уже после установки системы… Я честно говоря сам удивился, когда машина загрузилась в обычном режиме, проигнорировав этот параметр ядра…
                                                                  • 0
                                                                    А я когда был маленький лечил это установкой timeout 0 в грубе)
                                                                    • +2
                                                                      в различных версиях линух:
                                                                      «linux single» или просто «single»
                                                                      что говорит системе запуститься в однопользовательском режиме с автологином root, далее можно поменять его пароль (passwd), перезапуститься и наслаждаться.
                                                                      Методы защиты:
                                                                      — запаролить grub (или lilo в ранних версиях)
                                                                      — отключить меню grub (lilo)
                                                                      — перекомпилировать ядро без поддержки опции загрузки single
                                                                      • 0
                                                                        В любом linux есть универсальный способ:
                                                                        в загрузчике в строке с root= добавляйте (в конец) init=/bin/sh
                                                                        После загрузки ядра получите командную строку шела, где уже и нужно вводить passwd.

                                                                        Указанный тут single зачастую тоже требует пароль рута.

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

                                                                        Интересные публикации