Заблокировано после использования 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

Команда изменит пароль этого конкретного пользователя. После этого вы можете войти снова.

Другие вопросы по тегам