После попытки изменить мой пароль с помощью usermod -p <new password> <username>
(который, казалось, работал, но не давал никаких сообщений), я обнаружил, что не могу войти в систему, используя мой старый или новый пароль. Из того, что я прочитал, похоже, что это происходит из-за того, что usermod ожидает зашифрованный пароль?
Как я могу вернуться обратно?
Из man usermod
:
-p, --password PASSWORD
The encrypted password, as returned by crypt(3).
Note: This option is not recommended because the password (or encrypted password) will be visible by users listing the processes.
The password will be written in the local /etc/passwd or /etc/shadow file. This might differ from the password database configured
in your PAM configuration.
You should make sure the password respects the system's password policy.
, что в основном означает, что для опции -p
требуется предварительно зашифрованный хэш пароля, а не фактическое значение, которое вы вводите при входе в систему. Это редко опция.
Рекомендуемый способ изменить пароль из командной строки - использовать команду passwd
.
Чтобы исправить ситуацию, теперь вам нужно загрузиться в режиме восстановления, войти в систему как root и изменить свой пароль, используя passwd username
Да, эта проблема возникла из-за того, что usermod -p
ожидал хэш пароля (то есть зашифрованный пароль), не пароль открытого текста.
Из man 8 usermod
:
-p , - пароль
PASSWORD
Зашифрованный пароль, возвращаемый
crypt
.Примечание: Этот параметр не рекомендуется, поскольку пароль (или зашифрованный пароль) будет виден пользователям, перечисляющим процессы.
Пароль будет записан в локальном файле
/etc/passwd
или/etc/shadow
. Это может отличаться от базы паролей, настроенной в вашей конфигурации PAM.Вы должны убедиться, что пароль соответствует политике паролей системы.
blockquote>Вы можете вернуться в так же, как если бы вы потеряли пароль администратора при любых других условиях .
Если у вас есть учетная запись администратора, а это не та учетная запись, которую вы указали как
<username>
, вы можете вернуть ее, изменив пароль обычным способом:sudo passwd <username>
Если у вас есть права доступа root, вы можете ввести
sudo passwd loginname
Команда изменит пароль этого конкретного пользователя. После этого вы сможете снова войти в систему.