Заблокировано после использования usermod
После попытки изменить мой пароль с usermod -p <new password> <username>
(который, казалось, работал, но не давал никаких сообщений) Я обнаружил, что не могу войти, используя мой старый или новый пароль. Из того, что я прочитал, похоже, что это происходит из-за того, что usermod ожидает, что пароль будет зашифрован?
Как я могу вернуться обратно?
3 ответа
Да, эта проблема произошла потому что usermod -p
ожидается хэш пароля (т. е. зашифрованный пароль), а не пароль в виде открытого текста.
От man 8 usermod
:
-p, --password
PASSWORD
Зашифрованный пароль, возвращаемый
crypt
,Примечание. Этот параметр не рекомендуется, поскольку пароль (или зашифрованный пароль) будет виден пользователям, перечисляющим процессы.
Пароль будет написан на местном
/etc/passwd
или же/etc/shadow
файл. Это может отличаться от базы паролей, настроенной в вашей конфигурации PAM.Вы должны убедиться, что пароль соответствует политике паролей системы.
Вы можете вернуться обратно так же, как если бы вы потеряли пароль администратора при любых других условиях.
Если у вас есть учетная запись администратора, и это не та учетная запись, которую вы указали как <username>
Вы можете получить его обратно, сменив пароль обычным способом:
sudo passwd <username>
От 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
Если у вас есть права root, вы можете ввести
sudo passwd loginname
Команда изменит пароль этого конкретного пользователя. После этого вы можете войти снова.