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

 

 

posted @ 2025-08-05 15:41  Pynix  阅读(168)  评论(0)    收藏  举报