- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Как в Linux сбросить забытый пароль входа
- Как поменять пароль для пользователя Linux
- Что делать если забыт пароль от входа Linux
- Сброс пароля в Linux Mint, Ubuntu, Debian, Kali Linux (также должно работать для других производных Debian)
- Как сбросить пароль в Arch Linux, BlackArch (а также в других производных Arch Linux)
- Сброс пароля в RHEL/CentOS 7
- Что такое группа wheel в Linux
- Что такое однопользовательский режим в Unix
- В GRUB 2 нельзя изменить пароль в однопользовательском режиме?
- Восстановление пароля администратора
- Содержание
- Малыми средствами [ править ]
- С дополнительными ухищрениями при загрузке Вашей системы [ править ]
- С использованием другой ОС Linux [ править ]
- С использованием другой ОС [ править ]
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как в Linux сбросить забытый пароль входа
Если вы не можете войти в систему 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 на тот случай, если описанный здесь метод не сработал.
Источник
Восстановление пароля администратора
Содержание
Малыми средствами [ править ]
Пароль пользователя root по соображениям безопасности нельзя узнать, можно задать ему новый пароль. Для этого:
- В меню загрузчика пропишите в параметрах init=/bin/bash
- Если загрузчик — grub, следует:
- нажать «e» при курсоре на цели загрузки, соответствующей используемому экземпляру ALT Linux;
- в открывшемся редакторе отыскать строку, начинающуюся с linux /boot/vmlinuz;
- в её конец дописать то самое init=/bin/bash
- нажать F10
- Загрузится консоль. Выполните в ней команду
- Если файловая система /usr создана отдельно, найдите (cat /etc/fstab) и примонтируйте /usr
- Запустите passwd (можно пропустить предыдущий пункт и вернуться к нему в случае, если команда не будет найдена)
- Укажите пароль для пользователя root и подтвердите его. Пароль изменён, но дело ещё не закончено. Нам нужно переобозначить контекст SELinux. Если мы не выполним переобозначение всего контекста SELinux, мы не сможем войти используя новый пароль. Для этого:
- Далее выполните команды :
С дополнительными ухищрениями при загрузке Вашей системы [ править ]
Не всегда после минимальной загрузки системы, как в первом предложенном способе, Вы получите полностью рабочую систему, которой Вы смогли бы командовать. А именно, она на этом этапе может ещё не работать с нужными устройствами — с клавиатурой. (Такое наблюдалось, например, на 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 [ править ]
Суть метода — загрузив другую ОС 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. Следует проявлять осторожность, чтобы не испортить формат файла.
Источник