ubuntu20.04 启用密码复杂度
在 Ubuntu 20.04 中启动密码复杂度策略需通过配置 PAM(Pluggable Authentication Modules)实现,具体步骤如下:
🔧 一、安装必要模块
安装 libpam-pwquality
终端执行命令:
bash
Copy Code
sudo apt-get install libpam-pwquality
此模块提供密码复杂性检查功能。
⚙️ 二、配置密码策略
编辑 PAM 配置文件
bash
Copy Code
sudo nano /etc/pam.d/common-password
在文件中添加或修改以下行
找到 password requisite pam_pwquality.so 开头的行(若无则新增),修改为:
text
Copy Code
password requisite pam_pwquality.so retry=3 minlen=10 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
参数说明:
minlen=10:密码最小长度 10 位
ucredit=-1:至少包含 1 个大写字母
lcredit=-1:至少包含 1 个小写字母
dcredit=-1:至少包含 1 个数字
ocredit=-1:至少包含 1 个特殊字符
enforce_for_root:对 root 账户同样生效
✅ 三、验证配置生效
使用 passwd 命令修改密码,尝试不符合要求的密码(如少于 10 位、缺少字符类型),系统应拒绝并提示错误。
检查配置语法:
bash
Copy Code
sudo pam-auth-update --force
⚠️ 注意事项
版本差异:Ubuntu 20.04 默认使用 pam_pwquality,部分旧教程提到的 pam_cracklib 已不适用。
配置文件位置:参数必须直接添加到 /etc/pam.d/common-password 首行附近,否则可能失效。
风险提示:错误配置可能导致账户无法登录,修改前建议备份文件:
bash
Copy Code
sudo cp /etc/pam.d/common-password ~/common-password.bak
------------------------------------------------------------------------------------------
⚠️ 设置密码过期期限:
/etc/login.defs
PASS_MAX_DAYS 90 PASS_MIN_DAYS 0 PASS_WARN_AGE 7
⚠️ 设置登录、超时时间:
vim /etc/pad.d/login
第二行插入以下代码:
auth required pam_tally2.so deny=5 unlock_time=1800 even_deny_root root_unlock_time=1800
浙公网安备 33010602011771号