Linux登录访问限制

news2024/12/22 19:18:31

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.coloradmin.cn/o/1581261.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp小程序下载并导出excel

<button click"confirmExport">导出excel</button>confirmExport() {let header {"X-Access-Token": uni.getStorageSync(ACCESS_TOKEN), //自定义请求头信息} let url "http"/......"; // 后端API地址uni.request({url: ur…

【神经网络】生成对抗网络GAN

生成对抗网络GAN 欢迎访问Blog总目录&#xff01; 文章目录 生成对抗网络GAN1.学习链接2.GAN结构2.1.生成模型Generator2.2.判别模型Discrimintor2.3.伪代码 3.优缺点3.1.优势3.2.缺点 4.pytorch GAN4.1.API4.2.GAN的搭建4.2.1.结果4.2.2.代码 4.3.示意图:star: 1.学习链接 …

0.开篇:SSM+Spring Boot导学

1. 为什么要使用框架 Spring是一个轻量级Java开发框架&#xff0c;最早有Rod Johnson创建&#xff0c;目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。 几乎当下所有企业级JavaEE开发都离不开SSM&#xff08;Spring SpringMVC MyBatis&#xff09;Spring B…

计算机视觉——Python OpenCV BGR转HSV

这里将介绍如何使用 OpenCV 与 Python 来作彩色影像转HSV(RGB to HSV 或 BGR to HSV)&#xff0c;在写 Python 影像处理程序时常会用到 OpenCV cvtColor 作颜色空间转换的功能&#xff0c;接下来介绍怎么使用 Python 搭配 OpenCV 模块来进行 RGB/BGR 转 HSV 彩色转HSV空间。 H…

中科方德服务器操作系统安装zabbix5.0

原文链接&#xff1a;中科方德服务器操作系统安装zabbix5.0 Hello&#xff0c;大家好啊&#xff01;接着我们上一次的讨论&#xff0c;今天我要为大家介绍如何在已经安装好的中科方德服务器操作系统基础上&#xff0c;安装和配置Zabbix 5.0。Zabbix是一个开源的监控软件工具&am…

尝试在手机上运行google 最新开源的gpt模型 gemma

Gemma介绍 Gemma简介 Gemma是谷歌于2024年2月21日发布的一系列轻量级、最先进的开放语言模型&#xff0c;使用了与创建Gemini模型相同的研究和技术。由Google DeepMind和Google其他团队共同开发。 Gemma提供两种尺寸的模型权重&#xff1a;2B和7B。每种尺寸都带有经过预训练&a…

redis的三大模式的演化及集群模式思考和总结

redis的三大模式&#xff0c;也是循序渐进。 1、主从复制 比如一开始的读写分离的&#xff0c;主从复制。 一个master&#xff0c;多个slave。 master进行写和 增量同步&#xff0c;slave负责读&#xff0c;和接收增量同步的信息。 这样压力减轻。 2、哨兵模式 这个推出…

结构型模式--1.适配器模式【托尼托尼·乔巴】

1. 翻译家 在海贼王中&#xff0c;托尼托尼乔巴&#xff08;Tony Tony Chopper&#xff09;是草帽海贼团的船医&#xff0c;它本来是一头驯鹿&#xff0c;但是误食了动物系人人果实之后可以变成人的形态。 乔巴吃了恶魔果实之后的战斗力暂且抛开不谈&#xff0c;说说它掌握的第…

【数组】【最长距离】使循环数组所有元素相等的最少秒数

本文涉及知识点 数组 最长距离 LeetCode2808. 使循环数组所有元素相等的最少秒数 给你一个下标从 0 开始长度为 n 的数组 nums 。 每一秒&#xff0c;你可以对数组执行以下操作&#xff1a; 对于范围在 [0, n - 1] 内的每一个下标 i &#xff0c;将 nums[i] 替换成 nums[i] …

第一个Swift程序

要创建第一个Swift项目&#xff0c;请按照以下步骤操作&#xff1a; 打开Xcode。如果您没有安装Xcode&#xff0c;可以在App Store中下载并安装它。在Xcode的欢迎界面上&#xff0c;选择“Create a new Xcode project”&#xff08;创建新Xcode项目&#xff09;。在模板选择界…

电脑总是蓝屏怎么办,电脑总是蓝屏怎么办开不了机

工作离不开电脑&#xff0c;不过电脑经常会出现一些故障让我们崩溃不已&#xff0c;尤其类似电脑蓝屏开不了机这种&#xff0c;总是突然发生&#xff0c;让人猝不及防。那么面对这一情况&#xff0c;相信很多人都是不知道该如何处理的。这里提供两个方法&#xff0c;第一种方法…

Centos 下载地址

下载镜像地址&#xff1a; 1、官网地址&#xff1a;The CentOS Project 2、阿里镜像站&#xff1a;centos安装包下载_开源镜像站-阿里云 3、清华镜像源&#xff1a;Index of /centos/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 3.、CentOS搜狐镜像&#xff1…

(源码+讲解+部署)基于Spring Boot和Vue的考研教育系统的设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2024年Java精品实战案例《128套》 &#x1f345;文末获取源码联系&#x1f345; &#x1f31f…

TCP协议简单总结

TCP&#xff1a;传输控制协议 特点&#xff1a;面向连接、可靠通信 TCP的最终目的&#xff1a;要保证在不可靠的信道上实现可靠的传输 TCP主要有三个步骤实现可靠传输&#xff1a;三次握手建立连接&#xff0c;传输数据进行确认&#xff0c;四次挥手断开连接 三次握手建立可靠…

C# 之 Task、async和 await 、Thread 的简单整理

1、异步方法(async/await) 在 C# 5.0 中出现的 async 和 await &#xff0c;让异步编程变得更简单。 此方法利用了 .NET Framework 4.5 及更高版本、.NET Core 和 Windows 运行时中的异步支持。 编译器可执行开发人员曾进行的高难度工作&#xff0c;且应用程序保留了一个类似…

[网鼎杯 2020 玄武组]SSRFMe

[网鼎杯 2020 玄武组]SSRFMe 源码 <?php function check_inner_ip($url) {$match_resultpreg_match(/^(http|https|gopher|dict)?:\/\/.*(\/)?.*$/,$url);if (!$match_result){die(url fomat error);}try{$url_parseparse_url($url);}catch(Exception $e){die(url foma…

Maven与Jave web结构

Maven 简介 https://www.liaoxuefeng.com/wiki/1252599548343744/1255945359327200 java web module web目录 –src 应用程序源代码和测试程序代码的根目录 –main –java  应用程序源代码目录     --package1     --class1     --class2 –resources  应用…

【用户案例】太美医疗基于Apache DolphinScheduler的应用实践

大家好&#xff0c;我叫杨佳豪&#xff0c;来自于太美医疗。今天我为大家分享的是Apache DolphinScheduler在太美医疗的应用实践。今天的分享主要分为四个部分&#xff1a; 使用历程及选择理由稳定性的改造功能定制与自动化部署运维巡检与优化 使用历程及选择理由 公司介绍 …

自动驾驶中的多目标跟踪_第四篇

自动驾驶中的多目标跟踪:第四篇 附赠自动驾驶学习资料和量产经验&#xff1a;链接 在上篇&#xff0c;我们得到了杂波背景下单目标状态的后验概率表达式。在不进行近似的情况下&#xff0c;是无法应用到实际场景中的。因此&#xff0c;在这一节&#xff0c;我们来讨论如何进行…

python课后习题三

题目&#xff1a; 解题过程&#xff1a; 模式A&#xff1a; num int(input("&#xff08;模式A&#xff09;输入数字&#xff1a;")) for i in range(num): for j in range(num): if j < i 1: …