我们的服务器目前使用 blowfish 密码来存储密码,它使用pam_unix2。我们希望逐步切换到 SHA。我们的想法是,所有新更改的密码都将使用 SHA 进行哈希处理。但我不知道如何为此配置 PAM,即common-password
。如果我使用pam_unix2
,它无法使用 SHA 保存新密码。如果我使用pam_unix
,它无法验证旧的、混杂的密码。有没有办法用一个模块验证旧密码,用另一个模块设置新密码?
答案1
这取决于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