在 Linux 中,你可以通过配置 pam_tally 模块和 passwd 命令来启用账户锁定策略。这可以帮助提高系统的安全性,防止野蛮破解密码。以下是一般的步骤:
步骤 1: 配置 pam_tally 模块
打开 /etc/pam.d/system-auth 文件(或者 /etc/pam.d/common-auth,具体文件名可能因 Linux 发行版而异)。
在文件的 auth 部分添加以下行:
auth required pam_tally.so deny=5 unlock_time=600 even_deny_root
这行配置的含义是,当登录失败达到 5 次时,用户账户将被锁定,并在锁定后的 600 秒(10 分钟)内无法解锁。even_deny_root 表示即使是 root 用户也会受到锁定的限制。
步骤 2: 配置密码策略
打开 /etc/security/pwquality.conf 文件(或者 /etc/security/pwquality.conf,具体文件名可能因 Linux 发行版而异)。
在文件中添加以下行:
maxrepeat = 3
minclass = 4
minlen = 8
这行配置的含义是,密码不能包含相同字符超过 3 次,至少包含 4 种字符类别(大写字母、小写字母、数字、特殊字符),密码长度至少为 8 个字符。
步骤 3: 配置密码文件
打开 /etc/security/opasswd 文件(或者 /etc/security/opasswd,具体文件名可能因 Linux 发行版而异)。
确保该文件存在,如果不存在可以创建一个空文件。
步骤 4: 修改密码策略
打开 /etc/login.defs 文件。
查找以下行,并确保值设置为相应的数字:
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
这表示密码的最大有效天数、最小有效天数和提前多少天发出密码到期警告。
步骤 5: 重启 PAM 服务
在进行上述更改后,建议重启 PAM 服务以使更改生效:
sudo systemctl restart pam.service
注意事项:
请确保在进行这些更改之前备份相关的配置文件,以免在配置过程中发生错误。
以上配置示例是通用的,具体配置可能因 Linux 发行版而异,请根据你使用的发行版查看相应的文档。
可以根据实际需求调整 deny、unlock_time、maxrepeat、minclass、minlen 等参数的值。