如何配置Linux用户密码历史记录 防止重复使用旧密码

linux系统中,防止用户重复使用旧密码的方法是配置pam模块的密码历史记录功能。具体步骤如下:1. 修改/etc/pam.d/common-password文件中的remember参数以设定密码历史记录数量;2. 根据系统类型调整配置文件路径,如red hat系系统使用/etc/pam.d/system-auth或/etc/pam.d/password-auth;3. 检查/etc/login.defs中的密码策略是否冲突;4. 使用passwd命令测试配置并检查日志排查问题。通过以上步骤可有效提升账户安全,防止密码回滚风险。

如何配置Linux用户密码历史记录 防止重复使用旧密码

linux系统中,防止用户重复使用旧密码是提升账户安全的一个重要措施。通过配置密码历史记录功能,可以确保用户不能立即回滚到最近用过的密码,从而降低密码被破解的风险。这个功能主要依赖于PAM(Pluggable Authentication Modules)模块来实现。

如何配置Linux用户密码历史记录 防止重复使用旧密码

修改

/etc/pam.d/common-password

文件

大多数基于debian/ubuntu的系统,密码策略是在

/etc/pam.d/common-password

中配置的。你需要找到类似下面这一行:

如何配置Linux用户密码历史记录 防止重复使用旧密码

password    requisite     pam_pwquality.so retry=3

在这之后或附近,你会看到这样一行:

password    sufficient    pam_unix.so obscure use_authtok remember=5

其中的关键参数是

remember=5

,它表示系统会记住最近5个密码,不允许用户重复使用。

如何配置Linux用户密码历史记录 防止重复使用旧密码

  • 如果你希望增加或减少这个数字,比如改为10次历史记录,只需将该值修改为
    remember=10

  • 修改完成后保存文件,并退出编辑器。

注意:如果你使用的是red Hat系系统(如centos、RHEL),则配置文件可能位于 /etc/pam.d/system-auth 或 /etc/pam.d/password-auth,请根据你的系统进行相应调整。

配置

/etc/login.defs

(部分系统适用)

虽然

/etc/login.defs

通常用于设置新用户的默认密码策略,但它不直接支持密码历史记录功能。不过你可以在这里检查是否有与密码相关的策略冲突,比如:

PASS_MAX_DAYS   99999 PASS_MIN_DAYS   0 PASS_WARN_AGE   7

这些参数控制密码最长使用时间、最短使用时间和警告天数,和密码历史记录配合使用,能更全面地管理密码生命周期。

测试配置是否生效

修改完配置后,建议测试一下是否真的阻止了旧密码的重复使用。

  • 使用
    passwd

    命令更改某个用户的密码。

  • 然后尝试再次将其改回原来的密码,看看是否会提示“Password has been already used. Choose another.”或者类似的警告信息。
  • 如果没有生效,请检查日志
    /var/log/auth.log

    (Debian/Ubuntu)或

    /var/log/secure

    (Red Hat系)以获取错误信息。

几个常见问题排查点:

  • 确保使用的是正确的PAM配置文件路径
  • 检查是否有多个
    pam_unix.so

    的调用导致冲突

  • SELinux或AppArmor等安全模块是否干扰了配置

基本上就这些。配置密码历史记录看起来简单,但实际操作中容易忽略一些细节,比如不同发行版之间的差异、PAM模块顺序的影响等。只要注意这些点,就能有效增强系统的账户安全。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享