Linux登录访问限制

Linux系统下,用户密码的有效期可以通过编辑/etc/login.defs文件控制;密码复杂度规则设定需要通过/etc/pam.d/system-auth文件控制;登录失败次数限制通常由/etc/pam.d/login文件限制,可使用pam_tally2模块进行设置。

        

Linux系统下的用户密码的有效期

可以修改密码可以通过login.defs文件控制。设置密码过期期限(默认情况下,用户的密码永不过期。)编辑 /etc/login.defs 文件,可以设置当前密码的有效期限,具体变量如下所示:

# 查看默认配置
[root@iZm5e7avacv1htxtp7qbdyZ etc]# cat login.defs | grep PASS*
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7# 修改参数
[root@iZm5e7avacv1htxtp7qbdyZ etc]# sed -i -r 's/(PASS_MAX_DAYS)\s+[0-9]+/\1 90/' login.defs
[root@iZm5e7avacv1htxtp7qbdyZ etc]# sed -i -r 's/(PASS_MIN_LEN)\s+[0-9]+/\1 8/' login.defs# 检查修改后的结果
[root@iZm5e7avacv1htxtp7qbdyZ etc]# cat login.defs | grep PASS*

参数说明:

  • PASS_MAX_DAYS:密码可以使用的最多天数

  • PASS_MIN_DAYS:密码更改之间允许的最小天数

  • PASS_MIN_LEN:可接受的最小密码长度

  • PASS_WARN_AGE:密码过期前发出警告的天数

linux 用户密码复杂度

用户密码复杂度规则设定,需要通过/etc/pam.d/system-auth文件去控制(针对的是普通用户修改密码会生效,root用户无效),centos6中默认是通过pam_cracklib.so模块控制,(在CentOS 7上实现密码复杂度策略设置,主要是使用PAM pwquality模块完成):

相关参数说明:

  • retry=3 定义登录/修改密码失败时,可以重试的次数;

  • type=xxx 当添加/修改密码时,系统给出的缺省提示符是什么,用来修改缺省的密码提示文本。默认是不修改的,如上例。

  • minlen=8 定义用户密码的最小长度为8位

  • ucredit=-1 定义用户密码中最少有2个大写字母 (数字为负数,表示至少有多少个大写字母;数字为正数,表示至多有多少个大写字母;下面同理)

  • lcredit=-1 定义用户密码中最少有4个小写字母

  • dcredit=-1 定义用户密码中最少有1个数字

  • ocredit=-1 定义用户密码中最少有1个特殊字符(除数字、字母之外)

  • remember=3 修改用户密码时最近5次用过的旧密码就不能重用了

  • difok=n 此选项用来规定新密码中必需有n个字符与旧密码不同。

  • minclass=n 此选项用来规定新密码中的字符类别的最小数目,字符一般有四种类别:数字、大写字母、小写字母,以及特殊字符。

linux 设置登录失败5次,锁定时间为5分钟

限制登录通常由/etc/pam.d/login文件限制的,可直接在#%PAM-1.0下,直接添加一行

# 不限制root用户
auth required pam_tally2.so deny=3 unlock_time=5
# 限制root用户
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
  1. 本文使用的是 pam_tally2 模块,如果不支持 pam_tally2 模块可以使用 pam_tally 模块,不同的模块设置不同,请参考模块使用方法进行设置

  2. 也可以直接在/etc/pam.d/system-auth中设

    auth required pam_tally2.so onerr=fail unlock_time=1800 no_magic_root
    account required pam_tally2.so deny=5 unlock_time=1800 no_magic_root even_deny_root_account per_user reset

    参数说明:

  • auth: 表示这是认证阶段的规则。

  • required: 表示此模块是必需的,如果它失败,则认证失败。

  • pam_tally.so: 是PAM模块,用于跟踪用户登录失败的次数。

  • onerr=fail: 如果pam_tally.so模块遇到错误,则认证失败。

  • Unlock_time=1800: 指定用户账户在被锁定后多长时间(以秒为单位)自动解锁。这里是1800秒,即30分钟-

  • no_magic_root: 禁止root用户使用特殊权限来绕过登录失败次数的限制。

  • account: 表示这是账户管理阶段的规则。

  • deny=5: 指定在连续登录失败5次后,用户账户将被锁定。

  • even_deny_root_account: 即使对root用户也执行账户锁定策略。

  • per_user: 锁定策略是基于每个用户的,而不是全局的。

  • reset: 当用户成功登录后,重置登录失败计数器。

  • 建议不要限制root用户,因为pam_tally没有解锁功能,哪怕配置了unlock_time也是不生效的

  1. 使用pam_tally2 -r -u username 手动解锁用户

  2. 使用pam_tally2 –u username查看用户错误登录次数

  • 更多相关参数请参考官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/618312.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

城市选择器小程序实现

1.效果图 2.使用方法 # 城市选择器, 城市数据库可自己导出 ##后台数据API 由HotApp小程序统计提供并维护,如果需要导出并部署在公司的生产环境,最后有SQL导出下载地址 ## 使用方法 - 复制pages/district到你的项目目录 - 把样式文件distr…

mysql dll文件的缺失和Can‘t connect to MySQL server on ‘localhost‘ (10061)

个人笔记(整理不易,有帮助,收藏点赞评论,爱你们!!!你的支持是我写作的动力) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 个人随笔…

Java-Scanner类进阶+题目

Scanner进阶 接收整数数据时: 接收小数数据时: 例子: 可以先这样弄出scanner的框架: 未完待续... ...

视频基础学习六——视频编码基础三(h264框架配合图文+具体抓包分析 万字)

系列文章目录 视频基础学习一——色立体、三原色以及像素 视频基础学习二——图像深度与格式(RGB与YUV) 视频基础学习三——视频帧率、码率与分辨率 视频基础学习四——视频编码基础一(冗余信息) 视频基础学习五——视频编码基础…

SSM整合----第一个SSM项目

文章目录 前言一、使用步骤1.引入库2.建表3 项目结构4 web.xml的配置5 配置数据源6 SpringMVC配置7 配置MyBatis Mapper8 书写控制类 总结 前言 提示:这里可以添加本文要记录的大概内容: SSM整合是指Spring、SpringMVC和MyBatis这三个框架的整合使用。…

MySQL复习

in和exists的区别? in是内外表hash连接,exists是对外表做loop循环,每次loop后再对内表查询,如果外表小就用exists; not in和not exists前者是全表扫描,后者是可以走索引 锁 对于标准的插入操作&#xf…

Linux —— FTP服务【从0-1】

目录 一、介绍 1.概述 2.FTP的传输模式 PORT 主动模式 PASV 被动模式 3.FTP服务的作用 二、搭建FTP服务器 FTP服务端配置 1.安装vsftpd文件服务 2.启动服务 3.防火墙配置 4.FTP服务相关文件说明 FTP客户端配置 1.安装FTP客户端工具 lftp 2.访问FTP服务器 Linux系…

Vulnhub靶机 DC-2渗透详细过程

VulnHub靶机 DC-2 打靶 目录 VulnHub靶机 DC-2 打靶一、将靶机导入到虚拟机当中二、攻击方式主机发现端口扫描服务探针爆破目录web渗透信息收集扫描探针登录密码爆破SSH远程登录rbash提权 一、将靶机导入到虚拟机当中 靶机地址: https://www.vulnhub.com/entry/dc…

196算法之谜在 JSP 中使用内置对象 request 获取 form 表单的文本框 text 提交的数据。

(1)编写 inputNumber . jsp ,该页面提供一个 form 表单,该 form 表单提供一个文本框 text ,用于用户输入一个正整数,用户在 form 表单中输入的数字,单击 submit 提交键将正整数提交给 huiwenNumber . jsp 页…

【300套】基于Springboot+Vue的Java毕业设计项目(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 🧡今天给大家分享300的Java毕业设计,基于Springbootvue框架,这些项目都经过精心挑选,涵盖了不同的实战主题和用例,可做毕业…

Claude3和GPT4哪个强?

在短短两个月内,全球最强人工智能的桂冠再次易主。此前,Claude3 Opus以其卓越的表现超越了GPT-4,吸引了无数用户抛弃GPT,转而拥抱Claude3。然而,OpenAI近日强势回归,用实力证明了GPT依然是人工智能领域的霸…

rocketmq面试

broker主从复制机制 同步复制: 等Master和Slave均写成功后,才反馈给客户端写成功状态; 如果Master出故障, Slave上有全部的备份数据,容易恢复,但是同步复制会增大数据写入延迟,降低系统吞吐量。…