我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux系统PAM认证机制是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux系统PAM认证机制是什么

本篇文章给大家分享的是有关Linux系统PAM认证机制是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

PAM是由sun提出的认证机制,通过一些动态链接库和一套统一的API可以让系统管理员选择应用程序怎样去认证用户,而不需要知道应用程序的内部的实现细节,也不需要重新编译代码。

一、Pam框架

pam框架有以下四部分组成:

  1. PAM 应用程序,也称为消费方;

  2. PAM 库;

  3. PAM 配置文件;

  4. PAM 服务模块,也称为提供者;

该框架可为与验证相关的活动提供统一的执行方式。采用该方式,应用程序开发者可使用 PAM 服务,而不必了解策略的语义。算法是集中提供的。可以独立于各个应用程序对算法进行修改。借助 PAM,管理员可以根据特定系统的需要调整验证过程,而不必更改任何应用程序。调整是通过 PAM 配置文件 pam.conf 来执行的。

二、PAM的配置详解

PAM配置文件有两种写法:

一种是写在/etc/pam.conf文件中,但centos6之后的系统中,这个文件就没有了。 另一种写法是,将PAM配置文件放到/etc/pam.d/目录下,其规则内容都是不包含 service 部分的,即不包含服务名称,而/etc/pam.d 目录下文件的名字就是服务名称。如: vsftpd,login等.,只是少了最左边的服务名列.如:/etc/pam.d/sshd

Linux系统PAM认证机制是什么

由上图可以将配置文件分为四列,

第一列代表模块类型

第二列代表控制标记

第三列代表模块路径

第四列代表模块参数

1.PAM的模块类型

Linux-PAM有四种模块类型,分别代表四种不同的任务

它们是:认证管理(auth),账号管理(account),会话管理(session)和密码(password)管理,一个类型可能有多行,它们按顺序依次由PAM模块调用.

管理方式说明
auth用来对用户的身份进行识别.如:提示用户输入密码,或判断用户是否为root等.
account对帐号的各项属性进行检查.如:是否允许登录,是否达到最大用户数,或是root用户是否允许在这个终端登录等.
session这个模块用来定义用户登录前的,及用户退出后所要进行的操作.如:登录连接信息,用户数据的打开与关闭,挂载文件系统等.
password使用用户信息来更新.如:修改用户密码.

2.PAM的控制标记

PAM使用控制标记来处理和判断各个模块的返回值.(在此只说明简单的认证标记)

控制标记说明
required表示即使某个模块对用户的验证失败,也要等所有的模块都执行完毕后,PAM 才返回错误信息。这样做是为了不让用户知道被哪个模块拒绝。如果对用户验证成功,所有的模块都会返回成功信息。
requisite与required相似,但是如果这个模块返回失败,则立刻向应用程序返回失败,表示此类型失败.不再进行同类型后面的操作.
sufficient表示如果一个用户通过这个模块的验证,PAM结构就立刻返回验证成功信息(即使前面有模块fail了,也会把 fail结果忽略掉),把控制权交回应用程序。后面的层叠模块即使使用requisite或者required 控制标志,也不再执行。如果验证失败,sufficient 的作用和 optional 相同
optional表示即使本行指定的模块验证失败,也允许用户接受应用程序提供的服务,一般返回PAM_IGNORE(忽略).

3.模块路径

模块路径.即要调用模块的位置. 如果是64位系统,一般保存在/lib64/security,如: pam_unix.so

同一个模块,可以出现在不同的类型中.它在不同的类型中所执行的操作都不相同.这是由于每个模块

针对不同的模块类型,编制了不同的执行函数.

4.模块参数

模块参数,即传递给模块的参数.参数可以有多个,之间用空格分隔开,如:

password  required  pam_unix.so nullok obscure min=4 max=8 md5

三、常用的PAM模块介绍

PAM模块结合管理类型说明
pam_unix.soauth提示用户输入密码,并与/etc/shadow文件相比对.匹配返回0
account检查用户的账号信息(包括是否过期等).帐号可用时,返回0.
password修改用户的密码. 将用户输入的密码,作为用户的新密码更新shadow文件
pam_shells.soauthaccount如果用户想登录系统,那么它的shell必须是在/etc/shells文件中之一的shell
pam_deny.soaccountauthpasswordsession该模块可用于拒绝访问
pam_permit.soauthaccountpasswordsession模块任何时候都返回成功.
pam_securetty.soauth如果用户要以root登录时,则登录的tty必须在/etc/securetty之中.
pam_listfile.soauthaccountpassword session访问应用程的控制开关
pam_cracklib.sopassword这个模块可以插入到一个程序的密码栈中,用于检查密码的强度.
pam_limits.sosession定义使用系统资源的上限,root用户也会受此限制,可以通过/etc/security/limits.conf或/etc/security/limits.d/*.conf来设定

四、实例

1、pam_securetty.so

限制root从tty1,tty2,tty5登录(无实际意义,只是演示pam_securetty的用法)

在/etc/pam.d/login中添加如下一行

 auth required     pam_securetty.so

Linux系统PAM认证机制是什么

在/etc/pam.d/securetty中将tty1,tty2,tty5注释即可

Linux系统PAM认证机制是什么

之后使用root用户再次登录,就会出现

Linux系统PAM认证机制是什么

这么做其实并不是只限制root用户,也可以将其它用户用此方法来限定,当系统安装完成后,使用此方法来增强一下安全性。

2、pam_listfile.so

仅essun用户可以通过ssh远程登录

在/etc/pam.d/sshd文件中添加一条

 auth    required   pam_listfile.so item=user sense=allow ``file``=``/etc/sshdusers` `onerr=succeed

Linux系统PAM认证机制是什么

添加两个用户essun和tom

Linux系统PAM认证机制是什么

编辑file指定的文件,添加上一个用户essun

 #echo "essun" >/etc/sshdusers

使用tom用户登录

Linux系统PAM认证机制是什么

可以看到提示输入密码,当输入正确的密码后会提示

Linux系统PAM认证机制是什么

就像输入了错误的密码一样。而在使用essun用户登录则不会出现拒绝登录的提示

Linux系统PAM认证机制是什么

注:此处如果root也使用ssh远程连接,也会受到pam_listfile.so限制的。

其实pam模块的使用方法套路都差不多

如想了解更多的PAM模块的用法请man modules

温馨提示:

如果发生错误,Linux-PAM 可能会改变系统的安全性。这取决于你自己的选择,你可以选择不安全(开放系统)和绝对安全(拒绝任何访问)。通常,Linux-PAM 在发生错误时,倾向于后者。任何的配置错误都可能导致系统整个或者部分无法访问。

配置 Linux-PAM 时,可能遇到最大的问题可能就是 Linux-PAM 的配置文件/etc/pam.d/*被删除了。如果发生这种事情,你的系统就会被锁住。

有办法可以进行恢复,最好的方法就是用一个备份的镜像来恢复系统,或者登录进单用。

以上就是Linux系统PAM认证机制是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux系统PAM认证机制是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux系统PAM认证机制是什么

本篇文章给大家分享的是有关Linux系统PAM认证机制是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。PAM是由sun提出的认证机制,通过一些动态链接库和一套统一的API可
2023-06-28

Linux系统如何实现pam认证

这期内容当中小编将会给大家带来有关Linux系统如何实现pam认证,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、pam简介:PMA(Pluggable Authentication Module)是一
2023-06-28

Linux系统pam的服务模块及如何认证

这篇文章跟大家分析一下“Linux系统pam的服务模块及如何认证”。内容详细易懂,对“Linux系统pam的服务模块及如何认证”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Lin
2023-06-28

Spring Security认证机制是什么

这篇“Spring Security认证机制是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring Securit
2023-07-05

Linux系统中的SysVinit机制是什么

本篇内容主要讲解“Linux系统中的SysVinit机制是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中的SysVinit机制是什么”吧!SysV init是systemV风
2023-06-13

Linux系统内存寻址的分页机制是什么

这篇文章主要讲解了“Linux系统内存寻址的分页机制是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统内存寻址的分页机制是什么”吧!分页机制在段机制之后进行,以完成线性&md
2023-06-12

rabbitmq消息确认机制是什么

RabbitMQ消息确认机制是一种用于保证消息可靠传输的机制。它确保生产者发送的消息被正确地传递给消费者并被消费者成功处理。在RabbitMQ中,消息确认机制可以通过以下两种方式实现:1. 生产者确认:生产者发送消息后,等待RabbitMQ
2023-10-09

什么是Linux系统

本篇内容介绍了“什么是Linux系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  什么是Linux系统?  Linux操作系统,其实跟其
2023-06-05

Linux系统的关机命令是什么

本篇文章给大家分享的是有关Linux系统的关机命令是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Linux系统中关机命令有shutdown、reboot、poweroff
2023-06-28

redis的默认存储机制是什么

Redis的默认存储机制是将数据存储在内存中。当Redis启动时,它会将数据加载到内存中,并在内存中进行数据的读写操作。这种存储机制使得Redis具有快速的读写速度和高吞吐量,适用于需要频繁读写的场景。另外,Redis也支持将数据持久化到磁
2023-08-30

Linux信号机制是什么

Linux信号机制是一种用于进程间通信的机制,用于在进程之间传递异步事件的通知。当某个进程接收到一个信号时,它可以选择忽略、捕获或默认处理该信号。信号可以由操作系统、其他进程或进程自身发送。常见的信号包括SIGINT(键盘中断信号)、SIG
2023-08-12

Linux的Signal机制是什么

这篇文章主要介绍了Linux的Signal机制是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux的Signal机制是什么文章都会有所收获,下面我们一起来看看吧。Signal机制在Linux中是一个非
2023-06-27

Win10系统默认网关是什么

Win10系统默认网关是指在局域网中,将数据包从本地网络发送到外部网络时,数据包要经过的网关设备。网关设备负责将数据包从本地网络转发到外部网络,并将外部网络的响应数据包返回到本地网络。在Win10系统中,默认网关是通过DHCP服务器分配的。
2023-08-31

Linux系统复制文件的命令是什么

这篇文章主要为大家分析了Linux系统复制文件的命令是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux系统复制文件的命令是什么”的知识吧。用法1
2023-06-28

庖丁解牛node.js Passport库:探索认证系统的核心机制

:庖丁解牛 Node.js Passport 库:深入浅出解析认证系统的核心机制,揭秘身份验证的奥秘。
庖丁解牛node.js Passport库:探索认证系统的核心机制
2024-02-24

suse linux系统是什么

本文小编为大家详细介绍“suse linux系统是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“suse linux系统是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。suse linux就是一个Lin
2023-07-05

Linux是什么系统?Linux系统有何优势?

  提及操作系统,可能很多人都会想起Linux,Linux发现到现在可谓是拥有很多铁粉,对于了解它的人都知道,Linux在我们的生活当中有着非常重要的作用,覆盖了我们生活的各个方面。今天为大家介绍一下Linux是什么操作系统?Linux系统
2023-06-05

查看linux是什么系统

Linux是一种开源操作系统,其内核由Linus Torvalds于1991年首次发布。Linux系统基于Unix思想,具有高度的可定制性和稳定性。它被广泛应用于服务器、个人计算机、嵌入式设备以及移动设备等领域。Linux系统以其稳定性、安
2023-08-25

编程热搜

目录