广告
返回顶部
首页 > 资讯 > 操作系统 >Linux系统如何实现pam认证
  • 184
分享到

Linux系统如何实现pam认证

2023-06-28 14:06:35 184人浏览 八月长安
摘要

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

这期内容当中小编将会给大家带来有关linux系统如何实现pam认证,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

一、pam简介:

PMA(Pluggable Authentication Module)是一个可插入式认证模块,在Linux系统中,各种不同的应用程序都需要完成认证功能,为了实现统一调配,把所有需要认证的功能做成一个模块(认证机制特别复杂的除外,如:https),当特定的程序需要完成认证功能的时候,就去调用PMA的认证模块,这些模块都位于系统中的/lib64/security(/lib/security:32位操作系统)目录下,但并不是所有的模块都是用来完成认证的,有些模块是为了实现PAM的某些高级功能而存在的,其中PMA的认证库是由glibc提供的,应用程序最终使用哪个PMA模块,取决于/etc/pma.d/*这个目录下的定义.

二、pam认证原理

PAM认证一般遵循这样的顺序:Service(服务)→PAM(配置文件)→pam_*.so。PAM认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证。认证原理图如下图所示:

Linux系统如何实现pam认证

用户访问服务器的时候,服务器的某一个服务程序把用户的谁请求发送到PAM模块进行认证。对于不同的服务器应用程序所对应的PAM模块也是不同的。如果想查看某个程序是否支持PAM认证,可以用ldd命令进行查看,例如查看查看sshd是不是支持PAM模块认证,如下图所示:

Linux系统如何实现pam认证

三、PAM认证的构成

客观地说PAM认证还是比较复杂的,这里只简单地介绍它包括四种常见认证类型(module type):

1、认证管理(authentication management)

接受用户名和密码,进而对该用户的密码进行认证,并负责设置用户的一些秘密信息。

2、帐户管理(account management)

检查帐户是否被允许登录系统,帐号是否已经过期,帐号的登录是否有时间段的限制等等。

3、密码管理(passWord management)

主要是用来修改用户的密码。

4、会话管理(session management)

主要是提供对会话的管理和记账(accounting)。

四、pam验证控制类型(Control Values)

验证控制类型也可以称做Control Flags,用于PAM验证类型的返回结果,具体有以下四种:

1、required验证失败时仍然继续,但返回Fail(用户不会知道哪里失败)。

2、requisite验证失败则立即结束整个验证过程,返回Fail。

3、sufficient验证成功则立即返回,不再继续,否则忽略结果并继续。

4、optional无论验证结果如何,均不会影响(通常用于session类型)。

PAM验证类型返回结果如下所示:

Linux系统如何实现pam认证

为了方便大家理解举两个例子,如下图所示:

Linux系统如何实现pam认证

Linux系统如何实现pam认证

从上面两个图可以看出当required失败后续还要继续,但最后仍是失败。requisite验证失败则立即结束。而sufficient则是验证成功则立即结束。

上述就是小编为大家分享的Linux系统如何实现pam认证了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网操作系统频道。

--结束END--

本文标题: Linux系统如何实现pam认证

本文链接: https://www.lsjlt.com/news/319832.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Linux系统如何实现pam认证
    这期内容当中小编将会给大家带来有关Linux系统如何实现pam认证,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、pam简介:PMA(Pluggable Authentication Module)是一...
    99+
    2023-06-28
  • Linux系统PAM认证机制是什么
    本篇文章给大家分享的是有关Linux系统PAM认证机制是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。PAM是由sun提出的认证机制,通过一些动态链接库和一套统一的API可...
    99+
    2023-06-28
  • Linux系统pam的服务模块及如何认证
    这篇文章跟大家分析一下“Linux系统pam的服务模块及如何认证”。内容详细易懂,对“Linux系统pam的服务模块及如何认证”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Lin...
    99+
    2023-06-28
  • 如何分析Linux系统中的pam
    这篇文章主要为大家分析了如何分析Linux系统中的pam的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何分析Linux系统中的pam”的知识吧。一、pam...
    99+
    2023-06-28
  • SpringBoot+SpringSecurity+JWT实现系统认证与授权示例
    目录1. Spring Security简介2. JWT简介3. Spring Boot整合Spring Security4. 配置Spring Security使用JWT认证5. ...
    99+
    2022-11-13
    SpringBoot SpringSecurity JWT认证 SpringBoot SpringSecurity JWT 授权
  • php如何实现实名认证
    今天小编给大家分享一下php如何实现实名认证的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。php实现实名认证的步骤:1、开通...
    99+
    2023-07-04
  • java如何实现license认证
    在Java中实现license认证有多种方法,以下是其中一种常见的方法:1. 创建一个License类,包含许可证的必要信息和属性,...
    99+
    2023-09-05
    java
  • Linux系统中SSH服务基于key认证实践的过程
      众所周知ssh是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,它默认工作在tcp的22号端口,具体实现的软件有:openssh(centos默认安装的),dropbear。ssh协议目前有两个版本v1和...
    99+
    2022-06-04
    Linux系统SSH服务 linux key认证
  • Spring Security如何实现HTTP认证
    今天小编给大家分享一下Spring Security如何实现HTTP认证的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-06-30
  • 如何实现Linux通过PAM限制用户登录失败次数
    本篇内容主要讲解“如何实现Linux通过PAM限制用户登录失败次数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现Linux通过PAM限制用户登录失败次数”吧!  解决方法:  在拨接 v...
    99+
    2023-06-13
  • Spring Boot中如何实现HTTP认证
    这篇文章将为大家详细讲解有关Spring Boot中如何实现HTTP认证,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。HttpBasic 认证有一定的局限性与安全隐患,因此在实际项目中使用并...
    99+
    2023-06-03
  • MySQL如何实现Apache用户认证
    这篇文章主要介绍MySQL如何实现Apache用户认证,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!apache要求DSO方式编译安装,假定apache安装在/usr/local/a...
    99+
    2022-10-18
  • Linux系统如何验证NTP同步
    这篇“Linux系统如何验证NTP同步”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux系统如何验证NTP同步”文章吧...
    99+
    2023-06-27
  • Linux系统如何修改默认shell类型
    这篇文章给大家分享的是有关Linux系统如何修改默认shell类型的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。查看每个账户登录后所启动的默认shell是保存在/etc/passwd 中的可以使用cat来查看: ...
    99+
    2023-06-28
  • Linux系统如何获取默认MAC地址
    这篇文章跟大家分析一下“Linux系统如何获取默认MAC地址”。内容详细易懂,对“Linux系统如何获取默认MAC地址”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Linux系统...
    99+
    2023-06-28
  • 如何实现Linux系统调用
    今天小编给大家分享一下如何实现Linux系统调用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2022-10-19
  • Springboot实例讲解实现专业材料认证管理系统流程
    目录一,项目简介二,环境介绍三,系统展示四,核心代码展示五,项目总结一,项目简介 这是一个基于java的毕业设计项目,毕设课题为springboot框架的知识产权服务平台系统, 是一...
    99+
    2022-11-13
  • php如何实现Redis连接与认证
    这篇文章给大家分享的是有关php如何实现Redis连接与认证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Redis连接与认证//连接参数:ip、端口、连接超时时间,连接成功返回...
    99+
    2022-10-19
  • Web API如何实现Basic基础认证
    这篇文章主要介绍了Web API如何实现Basic基础认证的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Web API如何实现Basic基础认证文章都会有所收获,下面我们一起来看看吧。一、W...
    99+
    2023-06-29
  • Java SpringSecurity+JWT如何实现登录认证
    这篇文章主要介绍了Java SpringSecurity+JWT如何实现登录认证的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java SpringSecurity+JWT如何实现登录认证文...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作