Исправление /etc/shadow с паролями md5 к паролям sha512

Недавно я обновил сервер ubuntu со многими пользователями до последней версии с версии 2008 года. Сервер использовал хэши паролей md5 (например, теневые пароли начинались с $1$) и теперь настроен на использование sha512.

Я бы предпочел продолжать использовать sha512, но хотел бы, чтобы старые пользователи могли частично войти в систему один раз со своим старым паролем, а затем были бы вынуждены обновить свой пароль (даже если это тот же пароль), генерируя sha512. Прямо сейчас старые пароли на основе md5 в /etc/shadow вообще не позволяют входить в систему (и кажутся просто неверными паролями).

Кажется, многим людям следовало бы сделать это раньше; пока я не могу понять, как это сделать, глядя в общих местах, таких как /etc/pam.d/common-password nad /etc/login.defs. Также пользователи будут входить через ssh; и у меня нет контактной информации всех (электронная почта или иначе); и некоторые логин довольно редко.

Любая помощь? (Похоже, поиск в Google не дает хороших решений).

1 ответ

Решение

Теоретически это должно работать следующим образом: пользователи должны иметь возможность войти в систему со своими паролями MD5, и всякий раз, когда они меняют его, они получают пароль SHA512.

Трудно судить, почему люди не могут войти с паролем MD5. Аутентификация с паролями SHA512 работает? Если вы временно перейдете на MD5 и смените пароль тестового пользователя, сможете ли вы зайти в него? Может быть, вы можете опубликовать /etc/pam.d/common-auth некомментарии для просмотра. И, конечно, файлы журналов могут иметь некоторую справочную информацию.

Если вы хотите, чтобы люди меняли свой пароль, вы можете установить дату последнего изменения в 0 в / etc / shadow. Например, для пользователя foobar

sudo chage -d 0 foobar
Другие вопросы по тегам