Я хочу изменить свой теневой файл SHA512 для использования bcrypt, как показано в этом вопросе / ответе: Включить поддержку хэша на основе blowfish для crypt
Проблема в том, что я сталкиваюсь с проблемой курицы и яйца, потому что существующий теневой файл зашифрован SHA512, что означает, что sudo больше не работает, как только я редактирую
/etc/pamd/common-password
Записи хешированных паролей также содержат информацию о форматировании.
«$ id $ salt $ encrypted», где «$ id» - используемый алгоритм хеширования (в GNU / Linux «$ 1 $» означает MD5, «$ 2 $» - это Blowfish, «$ 5 $» - это SHA-256 и « $ 6 $ "- это SHA-512, справочная страница crypt (3), другие Unix могут иметь другие значения, например NetBSD).
Если пароли ваших пользователей имеют ограниченный по времени срок действия, им в конечном итоге придется их обновить, и новый хэш будет в выбранном вами формате. Система может определять, в каком формате находятся хэши паролей для каждого пользователя, поэтому все будет продолжать работать, поскольку пароли обновляются с течением времени.
Как также говорится в ответе, на который вы ссылаетесь:
Пароли, которые обновляются после внесения этих изменений, будут обработаны с помощью blowfish, существующие теневые пароли не будут изменены.
Природа одностороннего хеширования паролей делает невозможным (или около невозможно), чтобы преобразовать хэши обратно в открытый текст с целью их повторного хеширования в blowfish или любой другой односторонний алгоритм хеширования. Однако, насколько я понимаю, ваши существующие пароли md5 / sha512 / etc по-прежнему будут работать.