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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在linux下开启FTP服务方法介绍

    在linux下开启FTP服务方法介绍

    这篇文章主要介绍了在linux下开启FTP服务方法介绍,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Linux系统中的firewall-offline-cmd详解(收藏版)

    Linux系统中的firewall-offline-cmd详解(收藏版)

    firewall-offline-cmd 是 firewalld 的一个命令行工具,专门设计用于在没有运行 firewalld 服务的环境中配置防火墙规则,这篇文章主要介绍了Linux系统之firewall-offline-cmd详解,需要的朋友可以参考下
    2025-06-06
  • 关于SSH服务解读

    关于SSH服务解读

    这篇文章主要介绍了关于SSH服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Linux文本处理工具使用详解

    Linux文本处理工具使用详解

    在本篇文章里小编给各位分享的是一篇关于Linux文本处理工具使用详解内容,有兴趣的朋友们可以学习下。
    2020-03-03
  • Linux发邮件之mail命令详解

    Linux发邮件之mail命令详解

    这篇文章主要介绍了Linux发邮件之mail命令详解,详细的讲解了mail命令的用法等,非常具有实用价值,需要的朋友可以参考下。
    2016-12-12
  • Linux VNC安装ssh后ssh无法登录的解决方案

    Linux VNC安装ssh后ssh无法登录的解决方案

    VNC 服务器不能使用 SSH 22 端口登录的问题可能由多种原因引起,本文给大家介绍了Linux VNC安装ssh后ssh无法登录的解决方案,文中通过有详细解决方案,需要的朋友可以参考下
    2024-11-11
  • 浅谈Linux环境下gcc优化级别

    浅谈Linux环境下gcc优化级别

    这篇文章主要介绍了Linux环境下gcc优化级别,涉及gcc系列的相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-09-09
  • Ubuntu安装scrcpy完成手机投屏和控制(Ubuntu用QQ微信的另一种方法)

    Ubuntu安装scrcpy完成手机投屏和控制(Ubuntu用QQ微信的另一种方法)

    这篇文章主要介绍了Ubuntu安装scrcpy手机投屏和控制(Ubuntu用QQ微信的另一种方法),这样的话不用频繁在键盘和手机间切换了 ,需要的朋友可以参考下
    2019-10-10
  • Linux跨平台文件共享利器Samba的使用方法和最佳实践

    Linux跨平台文件共享利器Samba的使用方法和最佳实践

    在混合操作系统环境中,如何让 Linux/UNIX 服务器与 Windows 客户端之间实现无缝的文件和打印共享,一直是运维人员的核心需求之一,本文将从原理、安装、配置、安全加固到性能优化,全面介绍 Samba 的使用方法和最佳实践,需要的朋友可以参考下
    2026-05-05
  • Linux如何永久修改Mysql最大连接数

    Linux如何永久修改Mysql最大连接数

    文章介绍了如何在Linux上永久修改MySQL的最大连接数,包括查找配置文件位置、编辑my.cnf文件、重启服务以及查看连接数,如果修改后连接数没有变化,还提供了解决方案,包括修改mysqld.service文件以增加文件描述符限制
    2024-11-11

最新评论