Ubuntu系统密码管理与复杂度策略设置指南
Ubuntu系统密码管理与复杂度策略设置指南
本文将详细介绍在Ubuntu系统中如何修改用户密码以及设置密码复杂度策略,包括禁止使用旧密码、设置最短密码长度、密码复杂度要求和密码过期期限等安全策略。
一、修改密码
1. 修改普通用户密码
使用passwd
命令可以修改当前用户的密码:
passwd
系统会先提示输入当前密码进行确认,然后输入新的密码进行修改。
2. 修改root用户密码
使用sudo passwd root
命令可以修改root用户的密码:
sudo passwd root
默认情况下,root用户被禁止登录。如果需要解除限制,需要修改SSH配置:
sudo vim /etc/ssh/sshd_config
将默认配置注释掉,添加一行新的配置,默认的配置为允许root登录,但是禁止root用密码登录:
PermitRootLogin prohibit-password → PermitRootLogin yes
重启SSH服务使配置生效:
sudo service ssh restart
二、密码复杂度策略
注意!!!设置复杂度策略之前应该先将当前系统用户的密码修改为符合复杂度策略的密码,如果不符合,设置完复杂度策略之后用户将有不能登录的风险,需要提前合理规划
1. 安装cracklib模块
安装PAM的cracklib模块,cracklib能提供额外的密码检查能力:
sudo apt-get install libpam-cracklib
2. 相关策略设置
禁止使用旧密码
编辑
/etc/pam.d/common-password
文件:sudo vim /etc/pam.d/common-password
找到如下配置,并在后面添加
remember=5
,表示禁止使用最近用过的5个密码,已使用过的密码会被保存在/etc/security/opasswd
:设置最短密码长度
编辑
/etc/pam.d/common-password
文件:sudo vim /etc/pam.d/common-password
找到如下配置,并将默认的
minlen=8
改为minlen=10
,表示最短密码长度需要为10:设置密码复杂度
编辑
/etc/pam.d/common-password
文件:sudo vim /etc/pam.d/common-password
找到如下配置,在后面添加
ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
,它表示密码必须至少包含一个大写字母(ucredit),一个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit),具体按照需要修改即可:设置密码过期期限
编辑
/etc/login.defs
文件:sudo vim /etc/login.defs
找到如下配置,默认为9999天相当于不限制,到期之前7天会提示用户修改密码,按照需求实际修改即可:
PASS_MAX_DAYS 180 PASS_MIN_DAYS 0 PASS_WARN_AGE 14
总结
通过以上步骤,你可以有效地管理Ubuntu系统的用户密码,并设置合理的密码复杂度策略,以增强系统的安全性。