Linux密码复杂度设置及登录失败策略设置方式
更新时间:2024年12月11日 15:22:57 作者:李Da壮
本文主要讲述了如何在Ubuntu和CentOS系统中设置密码规则、安装crackilib模块、修改PAM配置文件以增强安全性和限制登录失败次数等措施,以提高系统的安全性
Ubunu设置
设置密码规则
安装crackilib模块
sudo apt-get install libpam-cracklib
修改 /etc/pam.d/common-password文件
添加以下配置信息
retry=3允许重试次数minlen=8密码最小长度difok=3默认值是1,允许新旧密码中相同的字符数ucredit新密码中至少有1个大写字符lcredit=-1新密码中至少有1个小写字符dcredit=-1新密码中至少有1个数字ocredit=-1新密码中至少有1个特殊字符enforce_for_root此规则对root生效
# here are the per-package modules (the "Primary" block) password requisite pam_cracklib.so retry=3 minlen=8 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 enforce_for_root password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512 remember=5
设置密码过期时间
修改 /etc/login.defs 文件以下配置
# 设置密码过期时间 99999表示用不过期 PASS_MAX_DAYS 99999 # 两次修改密码最小时间间隔 PASS_MIN_DAYS 0 # 密码过期前7天提醒 PASS_WARN_AGE 7
只针对新用户生效,老用户不生效
可使用chage -M 180 root命令设置老用户过期时间
设置用户登录失败策略
auth required pam_tally2.so deny=3 lock_time=20 unlock_time=60 even_deny_root root_unlock_time=60
修改 /etc/pam.d/common-auth 文件,添加下面配置
deny=3允许登录失败次数lock_time=10每次登录失败锁定时间,单位 秒unlock_time=3600触发登录失败次数后锁定时间 单位 秒even_deny_root针对所有用户生效,包括root
CentOS7版本以上设置
设置密码规则
编辑/etc/pam.d/system-auth添加以下配置
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 difok=5 enforce_for_root
minlen=8密码最小长度ucredit=-1新密码中至少有1个大写字符lcredit=-1新密码中至少有1个小写字符dcredit=-1新密码中至少有1个数字ocredit=-1新密码中至少有1个特殊字符enforce_for_root此规则对root生效
设置密码过期时间(与Ubuntu相同)
修改 /etc/login.defs 文件以下配置
# 设置密码过期时间 99999表示用不过期 PASS_MAX_DAYS 99999 # 两次修改密码最小时间间隔 PASS_MIN_DAYS 0 # 密码过期前7天提醒 PASS_WARN_AGE 7
只针对新用户生效,老用户不生效
可使用chage -M 180 root命令设置老用户过期时间
设置用户登录失败策略
修改 /etc/pam.d/system-auth 文件,添加下面配置
auth required pam_tally2.so deny=3 lock_time=20 unlock_time=60 even_deny_root root_unlock_time=60
deny=3允许登录失败次数lock_time=10每次登录失败锁定时间,单位 秒unlock_time=3600触发登录失败次数后锁定时间 单位 秒even_deny_root针对所有用户生效,包括root
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。


最新评论