在Ubuntu系统中,可通过修改PAM(可插拔认证模块)配置强化密码长度要求,提升安全性,编辑/etc/pam.d/common-password文件,在password requisite pam_cracklib.so行添加或修改minlen=12(12位为建议值,可按需调整),强制用户设置至少指定长度的密码,若需结合复杂度策略,可同时添加ucredit=-1(至少1个大写字母)、lcredit=-1(至少1个小写字母)、dcredit=-1(至少1个数字)等参数,修改后保存文件,用户下次修改密码时即生效,此方法能有效防止弱密码,降低账户被暴力破解风险。
在Linux系统管理中,用户密码的安全性是系统安全的第一道防线,Ubuntu作为广泛使用的Linux发行版,默认可能未对密码长度设置强制要求,这使得用户可能设置过短的密码(如“123456”),极易被暴力破解,本文将详细介绍如何在Ubuntu系统中设置用户密码长度要求,通过全局或局部策略提升系统安全性。
密码长度为何重要?
短密码存在严重安全隐患,6位纯数字密码的组合数仅为100万种,普通计算机可在几小时内通过暴力破解;而8位以上包含大小写字母、数字和符号的密码,组合数可达数万亿种,破解难度呈指数级增长,设置密码长度要求,能有效减少弱密码使用,降低账户被盗风险。
通过PAM模块全局设置密码长度要求(推荐方法)
Linux系统的认证机制由PAM(Pluggable Authentication Modules,可插拔认证模块)管理,通过修改PAM配置文件,可实现对所有用户密码长度的全局强制要求,以下是具体步骤:

检查并安装libpam-pwquality包
Ubuntu系统默认可能未启用密码强度检查模块libpam-pwquality,需先确认是否安装:
dpkg -l | grep libpam-pwquality
若未安装(输出无结果),通过以下命令安装:
sudo apt update && sudo apt install libpam-pwquality
该模块提供了minlen参数,可直接设置密码最小长度。
编辑/etc/pam.d/common-password文件
PAM的密码认证规则通常定义在/etc/pam.d/common-password文件中,使用sudo打开该文件:
sudo nano /etc/pam.d/common-password
找到类似以下行(可能因Ubuntu版本略有差异):
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
在行末添加minlen=8(8为示例长度,可根据需求调整,建议至少8位),修改后为:
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8
使配置生效
保存文件后,PAM模块会在下次密码修改时自动加载新配置,若需立即生效,可重启系统或执行以下命令(部分版本可能需要):
sudo pam-auth-update
在弹出的界面中,确保Password quality checking(密码质量检查)已勾选,确定”即可。
验证密码长度设置是否生效
设置完成后,可通过尝试修改密码验证规则是否生效,当前用户为testuser,执行:
passwd testuser
当输入短于8位的密码(如“123456”)时,系统会拒绝并提示类似错误:
passwd: Authentication token manipulation error passwd: The password is shorter than the minimum required length (8 characters)
只有输入长度≥8位的密码(如“Test@123”),才能成功修改。
针对特定用户的密码长度设置(可选)
若仅需对特定用户(如管理员账户)设置密码长度要求,可通过chage命令结合passwd脚本实现,但这种方法较为复杂,且不如全局设置高效,建议优先使用PAM全局配置。
桌面版Ubuntu图形界面设置补充
对于使用Ubuntu桌面版的用户,可通过图形工具间接实现密码长度限制(本质仍调用PAM配置):
- 打开“设置”>“用户账户”,点击解锁按钮(需输入当前用户密码)。
- 选择目标用户,点击“认证”选项卡,部分版本可能提供“密码策略”设置(若未显示,则仍需修改PAM配置)。
- 若图形界面支持,直接设置“

