Linux运维篇-PAM安全模块配置

news2025/1/20 17:36:59

在这里插入图片描述

PAM是什么?

PAM(可插入认证模块)是UNIX操作系统上一个实现模块化的身份验证的服务。当程序需要对用户进行身份验证时加载并执行。PAM文件通常位于/etc/pam.d目录中。
而Linux-PAM,是linux可插拔认证模块,是一套可定制、可动态加载的共享库,使本地系统管理员可以随意选择程序的认证方式。

需要注意的是,/etc/pam.d目录中的文件默认只有root管理员用户有权限修改,也可针对root本身做一些配置,调整前需要了解每一个配置项的含义,防止出现乌龙配置,一旦配置失误错禁了root身份验证,导致系统无法登录,只能到单用户或救援模式紧急恢复。

常见的配置文件

在redhat中,pam.d目录下有以下内容:
在这里插入图片描述
重要文件介绍:

文件名描述
login本地登陆的认证方式
sshd通过ssh服务远程登陆的认证方式
sudo使用sudo提权时的认证方式
common-auth通用身份认证模块
common-password通用密码规则模块
common-account通用账户管理模块,主要定义了账户权限的相关规则-
common-session通用会话管理模块

pam认证的构成

每一行大致可以区分为三个字段:

 认证类型    控制类型    PAM模块及其参数

第一列代表PAM认证模块类型

auth:认证、授权(检查用户的名字、密码是否正确

account:检查用户的帐户是否到期、禁用等

session:控制会话

password:控制用户修改密码过程

第二列代表PAM控制标记

required:必须通过此认证,否则不再往下认证下去,直接退出

requisite:必须通过认证,但以后还有机会,可以往下认证

sufficient:一经通过,后面的不再认证(只要通过这个条件则直接通过)

optional:可选项,通不通过均可

第三列代表PAM模块和PAM模块的参数,默认是在/lib64/security/目录下,如果不在此默认路径下,要填写绝对路径
常用pam模块:

名称描述
pam_access.so控制访问者的地址与帐号的名称
pam_listfile.so控制访问者的帐号名称或登陆位置
pam_limits.so控制为用户分配的资源
pam_rootok.so对管理员(uid=0)无条件通过
pam_userdb.so设定独立用户帐号数据库认证

常见配置修改

root用户登录设置

修改文件 /etc/pam.d/system-auth
在 pam_env.so下一行添加

pam_tally2.so onerr=fail deny=3 unlock_time=100 even_deny_root root_unlock_time=100
  • onerr=fail 表示定义了当出现错误时的缺省返回值;
  • even_deny_root 表示也限制root用户;
  • deny 表示设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
  • unlock_time 表示设定普通用户锁定后,多少时间后解锁,单位是秒;
  • root_unlock_time 表示设定root用户锁定后,多少时间后自动解锁否则手动,单位是秒;

ssh远程登录限制

修改文件 /etc/pam.d/sshd
在 pam_sepermit.so下一行添加

pam_tally2.so onerr=fail deny=3 unlock_time=100 even_deny_root root_unlock_time=100

pam_tally2 –u 账号 查看失败登录

pam_tally2 --user <用户名> --reset 重置失败登录(需要管理员账户执行)

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

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

相关文章

Ubuntu 24.04 LTS 空闲硬盘挂载到 文件管理器的 other locations

Ubuntu 24.04 LTS 确认硬盘是否被识别 使用 lsblk 查看信息&#xff0c;其中sda这个盘是我找不到的&#xff0c;途中是挂在好的。 分区和格式化硬盘 如果新硬盘没有分区&#xff0c;你需要先分区并格式化它。假设新硬盘为 /dev/sdb&#xff0c;使用 fdisk 或 parted 对硬盘…

Windows图形界面(GUI)-QT-C/C++ - Qt控件与布局系统详解

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 Qt布局系统(Layouts) 布局管理器基础 高级布局技巧 嵌套布局 设置间距和边距 常用控件详解 按钮类控件 QPushButton (标准按钮) QRadioButton (单选按钮) QCheckBox (复选框) …

ingress-nginx代理tcp使其能外部访问mysql

一、helm部署mysql主从复制 helm repo add bitnami https://charts.bitnami.com/bitnami helm repo updatehelm pull bitnami/mysql 解压后编辑values.yaml文件&#xff0c;修改如下&#xff08;storageclass已设置默认类&#xff09; 117 ## param architecture MySQL archit…

电梯系统的UML文档06

系统传感器 系统值是用于控制系统的。在类图中系统传感器用一个箭头和系统控制对象连接。 类图中的系统传感器包括AtFloor、电梯呼叫器、关门、开门、门反转、楼层呼叫器和驱动&#xff08;AtFloor&#xff0c;CarCall&#xff0c;DoorClosed&#xff0c;DoorOpen&#xff0c;…

低代码平台:技术复杂性的系统简化

在传统开发模式下&#xff0c;应用构建需要经历需求分析、代码开发、测试部署等多环节&#xff0c;流程繁琐且耗时&#xff0c;往往成为企业技术创新的瓶颈。低代码平台通过模块化和自动化技术重新定义开发流程&#xff0c;使开发者能够在较短时间内实现复杂的应用功能&#xf…

学生就业统计表

渲染业务 map 和 join 方法渲染页面 渲染业务 把数据存储到本地存储 删除业务 关于 stuId 的处理: 本来新增了两条数据&#xff0c;但是将 id 为 1 的数据删除了&#xff0c;现在只剩下 id 为 2 的数据&#xff0c;要新增的话 id 应该是 3 才对&#xff0c;但是实际上点击新增…

零基础构建最简单的 Tauri2.0 桌面项目 Star 88.4k!!!

目录 预安装环境 安装nodejs windows下安装 linux下安装 nodejs常遇问题 安装C环境 介绍 下载 安装 安装Rust语言 Tauri官网 安装 vscode 安装 rust 插件 安装 Tauri 插件 运行成果 预安装环境 安装nodejs windows下安装 NodeJs_安装及下载_哔哩哔哩_bilibi…

最小二乘估计图像复原

图像复原中的最小二乘估计 假设我们有一个原始图像 f \bm{f} f&#xff0c;它经过了一个线性退化过程&#xff08;例如&#xff0c;卷积与加性噪声&#xff09;&#xff0c;产生了观测到的退化图像 g \bm{g} g&#xff1a; g H f n \bm{g} \bm{H}\bm{f} \bm{n} gHfn 这里…

【Hadoop面试题2025】

文章目录 简单题故障及相应的处理方法中等难度高难度小文件小文件的产生小文件问题的影响小文件治理方案推荐方案 冷文件冷文件的产生冷文件问题的影响冷文件治理方案推荐方案 简单题 一、基础概念类 什么是Hadoop&#xff1f; 答案&#xff1a;Hadoop是一个开源的分布式计算框…

低代码运维与管理服务

文章目录 前言一、服务内容二、服务范围三、服务流程四、服务交付件五、责任矩阵六、验收标准 前言 随着云计算技术的发展&#xff0c;数字化转型是企业的必然选择&#xff0c;企业需要实现广泛的连接并走向开放&#xff0c;传统集成工具无法满足当前企业面临的数字化转型诉求…

RV1126+FFMPEG推流项目(9)AI和AENC模块绑定,并且开启线程采集

前面两篇已经交代AI和AENC模块的配置&#xff0c;这篇就让这两个模块绑定起来&#xff0c;绑定的原因是&#xff0c;Aenc从Ai模块拿到采集的原始数据进行编码。 使用 RK_MPI_SYS_Bind 把 AI 节点和 AENC 进行绑定&#xff0c;其中 enModId 是模块 ID 号选择的是 RK_ID_AI、s32C…

基于Qt开发的截屏软件已发布

目前还只是预览版&#xff0c;截屏的基础功能都已完成&#xff0c;后续将继续完善。 CSDN下载地址&#xff1a;https://download.csdn.net/download/LeoLei8060/90288234 github代码&#xff08;也可以下载发布程序&#xff09;&#xff1a;https://github.com/LeoLei8060/QS…

Spring Web MVC综合案例

承接上篇文章——Spring Web MVC探秘&#xff0c;在了解Spring Web MVC背后的工作机制之后&#xff0c;我们接下来通过三个实战项目&#xff0c;来进一步巩固一下前面的知识。 一、计算器 效果展示&#xff1a;访问路径&#xff1a;http://127.0.0.1:8080/calc.html 前端代码&a…

数据结构与算法面试专题——引入及归并排序

数据结构与算法引入 我们都知道数据结构与算法很重要&#xff0c;甚至会将其称为程序员的“内功”&#xff0c;但是我们花了很多时间学的算法和数据结构&#xff0c;好像就只是为了应对算法面试&#xff0c;对日常的开发工作没有什么帮助。 这点对于我们数据工程师来说&#…

OpenHarmony 4.1 SDK11 北向应用开发笔记

目录 声明 1、开启其他应用 2、延时切换页面 3、设置页面切换效果 4、设置背景图片和背景铺满屏幕 5、设置隐藏状态和导航条 6、设置组件大小和对齐方式 7、设置按钮类型改变按钮边框圆角半径 8、常用布局方式 9、布局技巧 声明 本笔记基于OpenHarmony 4.1 SDK11&am…

【Linux】进程的程序替换

前言&#xff1a; 在未进行进程的程序替换时&#xff0c;父子进程的数据是独立的通过页表进行映射进行实现进程数据的独立性&#xff0c;但是父子进程的代码还是共享的&#xff0c;我父进程将子进程进行创建出来不仅仅只会有父子进程只进行执行共享代码的需求&#xff0c;有的…

Java测试开发平台搭建(九)前端

1. 搭建前端vue环境 Vue3 安装 | 菜鸟教程 2. 创建项目 1.进入ui vue ui 2. create项目 3. 成功之后添加插件&#xff1a; cli-plugin-router vue-cli-plugin-vuetify 4. 添加依赖 axios 5. 点击任务开始运行 如果报错&#xff1a; 修改vue.config.jsconst { defineConfig }…

Asp .Net Core 实现微服务:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发现

什么是 Ocelot ? Ocelot是一个开源的ASP.NET Core微服务网关&#xff0c;它提供了API网关所需的所有功能&#xff0c;如路由、认证、限流、监控等。 Ocelot是一个简单、灵活且功能强大的API网关&#xff0c;它可以与现有的服务集成&#xff0c;并帮助您保护、监控和扩展您的…

【机器学习实战入门】使用Pandas和OpenCV进行颜色检测

Python 颜色检测项目 今天的项目将非常有趣和令人兴奋。我们将与颜色打交道&#xff0c;并在项目过程中学习许多概念。颜色检测对于识别物体来说是必要的&#xff0c;它也被用作各种图像编辑和绘图应用的工具。 什么是颜色检测&#xff1f; 颜色检测是检测任何颜色名称的过程…

如何实现文本相关的显示功能

文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了页面之间传递数据相关的内容,本章回中将介绍如何使用Text Widget。闲话休提&#xff0c;让我们一起Talk Flutter吧。 1 概念介绍 我们在这里说的Text Widget就是显示文字内容的组件&#xff0c;其实我们一直在…