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

总结

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

相关文章

  • mac上安装ubuntu双系统教程

    mac上安装ubuntu双系统教程

    本篇文章主要介绍了mac上安装ubuntu双系统教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • linux虚拟机配置静态IP地址的完整步骤

    linux虚拟机配置静态IP地址的完整步骤

    这篇文章主要给大家分享介绍了关于linux虚拟机配置静态IP地址的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Linux 查看磁盘IO并找出占用IO读写很高的进程

    Linux 查看磁盘IO并找出占用IO读写很高的进程

    这篇文章主要介绍了Linux 查看磁盘IO并找出占用IO读写很高的进程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 详解SSH 远程执行任务的方法

    详解SSH 远程执行任务的方法

    本篇文章主要介绍了详解SSH 远程执行任务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 关于在Linux下如何搭建DNS服务器

    关于在Linux下如何搭建DNS服务器

    这篇文章主要介绍了关于在Linux下如何搭建DNS服务器,文中提供了部分实现代码和解决思路,有一定的参考价值,需要的朋友快来一起看看吧
    2023-04-04
  • 在lnmp环境中的nginx编译安装

    在lnmp环境中的nginx编译安装

    本篇文章给大家分享了在lnmp环境中的nginx编译安装的相关步骤以及需要注意的地方,有兴趣的朋友参考学习下。
    2018-04-04
  • Linux中的tcpdump命令示例详解

    Linux中的tcpdump命令示例详解

    这篇文章主要给大家介绍了关于Linux中tcpdump命令的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Linux Web服务器网站故障分析常用命令

    Linux Web服务器网站故障分析常用命令

    这篇文章主要为大家详细分析了Linux Web服务器网站故障,利用常用命令查看故障,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • linux挂载本地yum源问题

    linux挂载本地yum源问题

    这篇文章主要介绍了linux挂载本地yum源问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • LNMP系列教程之 设置301重定向的方法

    LNMP系列教程之 设置301重定向的方法

    因为LNMP系统环境采用的是Nginx而不是Apache,所以在设置301重定向的时候,不是简单的在根目录.htaccess文件添加代码就可以实现,因为他需要对单独的网站conf文件进行修改配置
    2012-09-09

最新评论