Linux shadow сбросить пароль
Пароль пользователя 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 схож:
- Прерывание работы загрузчика GRUB
- Добавление опции загрузки, включающей однопользовательский режим
- Возобновление загрузки
- Изменение пароля командой passwd
- Перезагрузка в обычном режиме
Обратите внимание, что изменения, внесённые на втором шаге (изменение опций загрузки), являются временными – действуют только на одну последующую загрузку. Поэтому при перезагрузке на пятом шаге не нужно ничего предпринимать – система включится в обычном режиме.
Для перемещения в конец строки и в начало строки (на втором шаге) используйте сочетания клавиш 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:
"Сменить" пароль невозможно в принципе. Он хранится в зашифрованном виде и его не знает никто, кроме самого пользователя.
То, что Вы называете "сменить" делается в два этапа: 1) ОТМЕНИТЬ пароль пользователя root 2) УСТАНОВИТЬ пароль пользователя root
Шаг 2 выполняется штатными средствами с помощью команды passwd, когда ОС работает в обычном режиме.
А вот шаг 1 можно выполнить только если ОС работает в ОДНОПОЛЬЗОВАТЕЛЬСКОМ режие - это аварийный режим восстановления системы.
Как загрузить ОС в таком режиме, зависит от системного загрузчика, используемого для загрузки ОС. В большинстве случаев, надо успеть попасть в меню выбора режима загрузки и выбрать там пункт "Однопользовательский режим".
После этого идём в каталог /etc и любым текстовым редактором правим файл passwd, делая второе поле в строке root пустым, вот так 'root::'. После чего перезагружаемся в обычном режиме.
Однако, скорее всего, это всё окажется бесполезным, так как современные версии Linux не позволяют входить в систему под логином root в принципе! Никак! Свидетельство тому - символ 'x' или '*' в поле пароля root-а в файле "shadow". Это говорит о том, что от имени root можно запускать процессы, но залогиниться под root-ом невозможно.
Бывают случаи, что вы забыли или просто не знаете пароль пользователя для входа в систему. Можно установить новый пароль для любого пользователя. Для этого у вас должен быть физический доступ к компьютеру. В данной статье мы рассмотрим, как сбросить пароль пользователя в Linux — как установить новый пароль.
Первым делом нужно попасть в меню загрузчика GRUB. Для этого перезагрузите компьютер, и после того, как отобразится приветственный экран BIOS, нажмите и удерживайте клавишу Shift (или это может быть клавиша Esc ).
Появится меню загрузчика GRUB. Если вдруг с первого раза не получилось, например, вы не успели нажать Shift, и меню GRUB не показалось, попробуйте перезагрузить компьютер еще раз.
Меню GRUB выглядит следующим образом:
В меню представлен список операционных систем, которые установлены и доступны для загрузки. Найдите ваш Linux-дистрибутив (скорее всего это будет первый пункт меню). Под этим пунктом будет следующий пункт меню — это либо Advanced options for Ubuntu или Ubuntu, with Linux . generic (recovery mode) . Вместо Ubuntu будет стоять название вашего дистрибутива. В моем случае это, например, elementary.
Используя клавишу Вниз , выберете этот второй пункт в меню.
Так как в моем случае это пункт с надписью Advanced options for . , то после его выбора появятся несколько новых пунктов. Нужно выбрать пункт с пометкой (recovery mode) .
Появится новое меню — Recovery Menu. Используя клавишу Вниз , перейдите на пункт root (Drop to root shell promt) и выберите его, нажав клавишу Enter .
Сейчас корневая файловая система примонтирована только для чтения. Смонтируем файловую систему так, чтобы иметь доступ на чтение и на запись. Для этого выполните команду:
Теперь можно установить новый пароль для вашего пользователя. Для этого вы должны знать имя пользователя в системе. Если вы его не помните, то можно вывести список всех пользователей, выполнив команду (мое имя пользователя было последним в списке):
Теперь установим новый пароль. Выполняем команду passwd в качестве аргумента для которой указываем имя пользователя, пароль которого мы хотим изменить (вместо yuriy укажите имя вашего пользователя):
Появится запрос на ввод пароля. Обратите внимание, что при вводе пароля на экран ничего не выводится. Поэтому вводите пароль с клавиатуры, а затем просто нажимайте Enter . Далее пароль нужно будет ввести повторно.
Теперь можно перезагрузить компьютер и попробовать войти в систему, используя новый пароль. Для перезагрузки введите команду:
Видео — изменяем пароль пользователя
В данном видео показаны все действия, описанные в статье — попадаем в меню GRUB, загружаем recovery mode, монтируем диск для записи и меняем пароль.
Читайте также: