Linux shadow сбросить пароль

Обновлено: 30.06.2024

Пароль пользователя root по соображениям безопасности нельзя узнать, можно задать ему новый пароль. Для этого:

Внимание! Строка загрузки ядра обычно весьма длинная и в GRUB может быть разбита на несколько экранных, продолжающихся "\" в конце каждой такой экранной строки; дописывать следует или в конец полной командной строки, не завершающийся обратной косой чертой, или между аргументами вроде "ro quiet" через пробел, но не между словами "linux" и "/boot/vmlinuz"! Внимание! При редактировании не следует нажимать Ctrl-c/F2 для получения командной строки, вы и так исправляете уже существующую команду; пользуйтесь курсорными стрелками (Del и Backspace не должны понадобиться).

Не всегда после минимальной загрузки системы, как в первом предложенном способе, Вы получите полностью рабочую систему, которой Вы смогли бы командовать. А именно, она на этом этапе может ещё не работать с нужными устройствами -- с клавиатурой. (Такое наблюдалось, например, на ALT Desktop 4.0 с USB-клавиатурой.)

Тогда путь можно немного усложнить: в качестве параметра init передать ядру не командную оболочку, а специально написанный скрипт, который сначала выполнит обычные действия по подготовке устройств к использованию в системе, а потом уже запустит командную оболочку. Скрипт этот нужно расположить в корневом разделе, который только и доступен на этом этапе загрузки.

Подробности: Для наших целей хорошо, если у Вас /var/tmp/ располагается на корневом разделе (проверьте по выводу команды mount или df /var/tmp/ ) и у Вас есть права записи в него. Пусть наш скрипт будет расположен по пути /var/tmp/myinit . Создайте его нормальным текстовым редактором (например, в меню системы, где такое приходилось делать, нашёлся gedit) с таким содержанием:

чтобы "объявлялись" выполняемые шаги Вашего скрипта и Вы лучше могли бы следить за процессом; см. man set ), сохраните Ваш скрипт, сделайте исполняемым ( chmod a+x /var/tmp/myinit ), и перезагружайтесь с параметром init=/var/tmp/myinit .

Если не нашлось места, куда бы Вы могли поместить свой init-скрипт, так чтобы он был доступен на этом раннем этапе загрузки, то нужно будет придумать какую-нибудь ещё хитрость. Возможно, можно сделать свою initial RAM fs на любом разделе и загрузиться с ней (если у Вас загрузчик -- grub). Но это уже чрезмерно для обычного человека: каждый Unix-пользователь должен представлять себе, как писать shell-скрипт (что мы и сделали) -- это ему будет полезно при пользовании, но вряд ли обязан уметь изготавливать свои initramfs и т.п. -- больше это ему при использовании системы никогда не пригодится. Поэтому разумнее, наверное, перейти к следующему описанному способу, более универсальному и полезному в других случаях, но требующему дополнительных средств.

Суть метода - загрузив другую ОС Linux собрать дерево файловых систем и сделать в него chroot, после чего появляется возможность выполнять в целевой системе различные команды с правами суперпользователя. Для этого можно воспользоваться практически любым дистрибутивом любого производителя. Существуют и специализированные дистрибутивы для восстановления, например ALT Linux Rescue. Ограничение одно: архитектура используемого для восстановления дистрибутива должна позволить запускать приложения Вашей ОС после перехода в chroot. Этот путь полезен не только для смены пароля, но и в других необычных случаях. Сборка дерева ФС для chroot подробно описана в статье Восстановление загрузочной записи.

В случае использования ALT Linux Rescue и несложного состава разделов последовательность команд после загрузки с CD/USB выглядит так:

Этот способ может оказаться единственным для случаев с расположением корневой файловой системы на RAID, LVM и т.п.

Можно воспользоваться любой ОС, которая позволяет писать в раздел с той файловой системой, на которой у Вас расположен корневой раздел. В ALT используется система хранения хэшей tcb, достаточно отредактировать файл /etc/tcb/root/shadow, убрав символы между первым и вторым двоеточиями. Пароль root станет пустым. В ряде других дистрибутивов можно аналогичным образом исправлять /etc/shadow. Форматы shadow различаются только тем, что в последнем случае файл содержит хэши паролей всех пользователей, а не одного, как в ALT. Следует проявлять осторожность, чтобы не испортить формат файла.

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

Если вы не можете войти в систему 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, мы не сможем войти используя новый пароль. Для этого:


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

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

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

Что такое группа 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 на тот случай, если описанный здесь метод не сработал.

Имеется SD карта с Linux на котором надо сбросить пароль и флэшка с Ubuntu 16.04LTS которую я запускаю без установки.

Что я делаю не так? Как я понял надо смонтировать образ SD карты к Ubuntu и потом сменить пароль root для Linux на Flash карте с помощью команды passwd, но эта команда не хочет работать даже просто в консоли, это из-за того что Ubuntu запущена в демонстрационном режиме?

161 1 1 золотой знак 2 2 серебряных знака 17 17 бронзовых знаков Приведите ваш диалог с системой, какие команды вы вводите и что получаете в ответ.

если вы примонтировали корневой раздел системы, в которой надо сменить пароль, в каталог, например, /mnt , то сменить пароль пользователя root в этой системе можно, воспользовавшись программой chroot:

или ей же, но неявно, через опцию -R ( --root ) программы passwd:


66k 154 154 золотых знака 66 66 серебряных знаков 203 203 бронзовых знака @Sergey, 2. загружена live-система, в которой по умолчанию у пользователя имеется право использования sudo. 1. монтируется корень другой системы, не той, которая загружена.

"Сменить" пароль невозможно в принципе. Он хранится в зашифрованном виде и его не знает никто, кроме самого пользователя.

То, что Вы называете "сменить" делается в два этапа: 1) ОТМЕНИТЬ пароль пользователя root 2) УСТАНОВИТЬ пароль пользователя root

Шаг 2 выполняется штатными средствами с помощью команды passwd, когда ОС работает в обычном режиме.

А вот шаг 1 можно выполнить только если ОС работает в ОДНОПОЛЬЗОВАТЕЛЬСКОМ режие - это аварийный режим восстановления системы.

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

После этого идём в каталог /etc и любым текстовым редактором правим файл passwd, делая второе поле в строке root пустым, вот так 'root::'. После чего перезагружаемся в обычном режиме.

Однако, скорее всего, это всё окажется бесполезным, так как современные версии Linux не позволяют входить в систему под логином root в принципе! Никак! Свидетельство тому - символ 'x' или '*' в поле пароля root-а в файле "shadow". Это говорит о том, что от имени root можно запускать процессы, но залогиниться под root-ом невозможно.

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

Бывают случаи, что вы забыли или просто не знаете пароль пользователя для входа в систему. Можно установить новый пароль для любого пользователя. Для этого у вас должен быть физический доступ к компьютеру. В данной статье мы рассмотрим, как сбросить пароль пользователя в Linux — как установить новый пароль.

Первым делом нужно попасть в меню загрузчика GRUB. Для этого перезагрузите компьютер, и после того, как отобразится приветственный экран BIOS, нажмите и удерживайте клавишу Shift (или это может быть клавиша Esc ).

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

Меню GRUB

Меню GRUB выглядит следующим образом:

В меню представлен список операционных систем, которые установлены и доступны для загрузки. Найдите ваш Linux-дистрибутив (скорее всего это будет первый пункт меню). Под этим пунктом будет следующий пункт меню — это либо Advanced options for Ubuntu или Ubuntu, with Linux . generic (recovery mode) . Вместо Ubuntu будет стоять название вашего дистрибутива. В моем случае это, например, elementary.

Используя клавишу Вниз , выберете этот второй пункт в меню.

Grub recovery mode

Так как в моем случае это пункт с надписью Advanced options for . , то после его выбора появятся несколько новых пунктов. Нужно выбрать пункт с пометкой (recovery mode) .

Linux Recovery Menu Root

Появится новое меню — Recovery Menu. Используя клавишу Вниз , перейдите на пункт root (Drop to root shell promt) и выберите его, нажав клавишу Enter .

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

Теперь можно установить новый пароль для вашего пользователя. Для этого вы должны знать имя пользователя в системе. Если вы его не помните, то можно вывести список всех пользователей, выполнив команду (мое имя пользователя было последним в списке):

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

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

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

Видео — изменяем пароль пользователя

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

Читайте также: