Назад | Перейти на главную страницу

Как при смене паролей разрешить одному модулю PAM проверять старые пароли, а другому сохранять новые?

Наш сервер в настоящее время использует шифр blowfish для хранения паролей и использует pam_unix2. Мы хотим постепенно переходить на SHA. Идея состоит в том, что все недавно измененные пароли будут хешироваться с помощью SHA. Но я не знаю, как настроить для этого PAM, а именно common-password. Если я использую pam_unix2, он не может сохранять новые пароли с помощью SHA. Если я использую pam_unix, он не может проверить старые пароли blowfish. Есть ли способ проверить старые пароли с одним модулем и установить новые с другим?

Это зависит от того, password интерфейс проверяет текущий пароль, или выполняется ли это обычным auth интерфейс. Я подозреваю, что последнее из-за того, что root может устанавливать пароли других пользователей без предоставления предыдущего пароля пользователя, и в этом случае вы должны иметь возможность сделать что-то вроде этого:

# Accept authentication with either Blowfish or SHA512
auth        sufficient      pam_unix2.so
auth        sufficient      pam_unix.so

# Set new passwords only with SHA512
password    required        pam_unix.so sha512