该提示是pam密码策略的合规性警告,系统仍继续执行密码修改;当新密码长度不足minlen要求(如8位)时触发,但不中断流程,确认两次输入一致即可成功更新。

这个提示不是错误,而是PAM密码策略的合规性警告,系统仍会继续执行密码修改——只要最终确认两次输入一致,密码就能成功更新。
为什么会出现这个提示
Linux默认启用密码复杂度检查,由PAM模块(如 pam_pwquality.so 或 pam_cracklib.so)控制。当新密码长度不足策略要求(例如 minlen=8),就会输出该提示,但不中断流程。
- 普通用户受此策略严格约束,输入短密码时会看到提示,但可坚持完成修改
- root用户调用 passwd username 时,通常跳过大部分校验,提示可能不出现,或即使出现也不影响写入
- 该行为在 CentOS 7、RHEL 8+、Ubuntu 20.04+ 等主流发行版中均一致
如何确认当前密码长度策略
策略配置分散在不同位置,需按顺序排查:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 查看 /etc/security/pwquality.conf(RHEL/CentOS 7+、Fedora、SUSE):运行 grep "^minlen" /etc/security/pwquality.conf,若输出 minlen = 8,即表示最低8字符
- 检查 /etc/pam.d/system-auth 或 /etc/pam.d/common-password(Debian/Ubuntu):查找含 pam_pwquality.so 或 pam_cracklib.so 的行,看是否有 minlen= 参数
- 注意 /etc/login.defs 中的 PASS_MIN_LEN 仅影响 useradd 创建用户时的默认限制,不控制 passwd 修改行为
要不要改?怎么改才安全
不建议直接禁用校验,而应按安全规范调整参数:
- 若需放宽至7位,编辑 /etc/security/pwquality.conf,将 minlen = 8 改为 minlen = 7,保存后立即生效
- 更推荐增强策略:追加 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1,强制包含数字、大写、小写、特殊字符各至少1个
- 修改后可用 echo "test123!" | passwd --stdin testuser 2>/dev/null && echo ok 快速验证是否符合新规则
特别注意:提示≠失败
只要第二次输入密码能通过确认,终端最后显示 "all authentication tokens updated successfully",就说明密码已生效。不要因看到“BAD PASSWORD”就误判操作失败。










