在 PAM 中设置用户特定的密码哈希轮次

在 PAM 中设置用户特定的密码哈希轮次

我们/etc/pam.d/common-password有这样一行:

password [success=1 default=ignore] pam_unix.so sha512 rounds=200000

这意味着,每当有人设置密码时,都会使用 200,000 轮 SHA-512 对其进行哈希处理。这种本质上较慢的散列通过限制测试密码的速度来防止字典和暴力攻击。

对于某些帐户,我们可能希望更好地保护密码,但代价是散列速度较慢。比如说,管理员帐户 500,000 轮,root. .但我无法找到任何方法在 PAM 中指定此类每用户或每组策略。这可以做到吗?

答案1

您可以通过以下方式指定每用户或每组策略pam_succeed_if模块。使用“转到”动作(即用整数代替okignore等)跳过password某些用户的设置。

password [success=1] pam_succeed_if user ne 0
# Setting for root
password [success=1] pam_unix.so sha512 rounds=800000
# Setting for non-root
password [success=ok] pam_unix.so sha512 rounds=200000

(警告:未经测试,而且我对 PAM 并不熟练。)

相关内容