- 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 login command
- Description
- Syntax
- Options
- Configuration
- Files
- Examples
- Related commands
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как в Linux сбросить забытый пароль входа
Если вы не можете войти в систему Linux из-за того, что забыли пароль учётной записи пользователя, то не всё потеряно! Хотя этот пароль нельзя узнать (простыми методами), но его можно сбросить и заменить на новый, данная инструкция расскажет, что делать, если забыли пароль пользователя в Linux.
Как поменять пароль для пользователя Linux
Любые пользователи из группы администраторов (чей аккаунт входит в группу wheel) могут поменять пароль для любого другого пользователя – как для непривилегированных учётных записей, так и для других администраторов, в том числе для root’a. Т.е. если вы забыли пароль root, но помните пароль пользователя, имеющего право на выполнение команд с sudo, то пароль может восстановить командой passwd. Чтобы поменять пароль пользователя root выполните:
Чтобы поменять пароль любого пользователя выполните:
sudo passwd имя_пользователя
Где вместо имя_пользователя нужно подставить имя учётной записи пользователя 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 завершилась ошибкой:
passwd: Authentication token manipulation error passwd: password unchanged
Чтобы понять причину ошибки, введём команду:
Буквы 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 на тот случай, если описанный здесь метод не сработал.
Связанные статьи:
Linux login command
On Unix-like operating systems, the login command begins a new login session on the system.
This page covers the Linux version of login.
Description
The login program is used to establish a new session with the system. It is normally invoked automatically by responding to the «login:» prompt on the user’s terminal. login may be special to the shell and may not be invoked as a sub-process. When called from a shell, login should be executed as exec login which causes the user to exit from the current shell (and thus prevents the new logged in user to return to the session of the caller). Attempting to execute login from any shell but the login shell produces an error message.
The user is then prompted for a password, where appropriate. Echoing is disabled to prevent revealing the password. Only a small number of password failures are permitted before login exits and the communications link is severed.
If password aging is enabled for your account, you may be prompted for a new password before proceeding. You will be forced to provide your old password and the new password before continuing; refer to our passwd for more information.
Your user and group ID will be set according to their values in the /etc/passwd file. The value for $HOME, $SHELL, $PATH, $LOGNAME, and $MAIL are set according to the appropriate fields in the password entry. ulimit, umask and nice values may also be set according to entries in the GECOS field.
On some installations, the environment variable $TERM will be initialized to the terminal type on your tty line, as specified in /etc/ttytype.
An initialization script may also be executed; check the documentation of your command interpreter for information on init scripts.
A subsystem login is indicated by the presence of a «*» as the first character of the login shell. The given home directory will be used as the root of a new file system which the user is actually logged into.
Syntax
login [-p] [-h host] [username] [ENV=VAR. ]
login [-p] [-h host] -f username
Options
-f | Do not perform authentication; user is pre-authenticated. In that case, username is mandatory. |
-h | Name of the remote host for this login. |
-p | Preserve environment. |
-r | Perform autologin protocol for rlogin. |
Configuration
The following configuration variables in /etc/login.defs change the behavior of this tool:
By default, the ownership of the terminal is set to the user’s primary group and the permissions are set to 0600.
TTYGROUP can be either the name of a group or a numeric group identifier.
Files
/var/run/utmp | List of current login sessions. |
/var/log/wtmp | List of previous login sessions. |
/etc/passwd | User account information. |
/etc/shadow | Secure user account information. |
/etc/motd | System message of the day file. |
/etc/nologin | Prevent non-root users from logging in. |
/etc/ttytype | List of terminal types. |
$HOME/.hushlogin | Suppress printing of system messages. |
/etc/login.defs | Shadow password suite configuration. |
The -r, -h and -f options are only used when login is invoked by root.
Examples
Attempts to log in to the host computerhope.com.
Related commands
csh — The C shell command interpreter.
exit — Exit the command shell.
init — The parent of all processes on the system.
ksh — The Korn shell command interpreter.
mail — Read, compose, and manage mail.
mailx — Process mail messages.
newgrp — Log into a new group.
passwd — Change a user’s password.
rlogin — Begin a session on a remote system.
rsh — Execute a command on a remote shell.
sh — The Bourne shell command interpreter.
telnet — Connect to a remote system using the telnet protocol.
umask — Get or set the file mode creation mask.