一、pam简介

Linux-PAM(linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式。换句话说,不用重新编译一个包含PAM功能的应用程序,就可以改变它使用的认证机制。这种方式下,就算升级本地认证机制,也不用修改程序。PAM使用配置/etc/pam.d/下的文件,来管理对程序的认证方式。应用程序调用相应的配置文件,从而调用本地的认证模块。模块放置在/lib/security下,以加载动态库的形式进,像我们使用su命令时,系统会提示你输入root用户的密码。这就是su命令通过调用PAM模块实现的。

二、PAM的配置文件介绍

  • PAM配置文件写在/etc/pam.conf文件中
  • 保存在 /etc/pam.d/下
  • 内容如下图

  • 第一列代表模块类型
  • 第二列代表控制标记
  • 第三列代表模块名称
  • 第四列代表模块参数

三、PAM模块类型

Linux-PAM有四种模块类型,分别代表四种不同的任务,它们是:认证管理(auth),账号管理(account),会话管理(session)和密码(password)管理,一个类型可能有多行,它们按顺序依次由PAM模块调用。

    管理方式 说明

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

四、PAM的控制标记

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

    控制标记 说明

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

五、模块名称

       模块名称,即要调用模块的名称.。如果是64位系统,一般保存在 /lib64/security,如: pam_unix.so 同一个模块,可以出现在不同的类型中。它在不同的类型中所执行的操作都不相同。这是由于每个模块针对不同的模块类型,编制了不同的执行函数。

Linux中PAM模块详解相关推荐

  1. Linux中pam认证详解,linux中pam认证解析

    pam认证机制:简单来说就是linux系统采取的这一种对不同用户以及系统中的不同服务进行的安全认证机制. 认证流程:linux系统首先确定所需认证的服务,然后加载相应的PAM的配置文件(位于/etc/ ...

  2. linux pam 版本号,Linux中pam板块详解

    pam简介 Linux-PAM(linux可插入认证板块)是一套共享库,使本地系统管理员可以随便选择程序的认证方式.换句话说,不使用重新编译一个包含PAM功能的应使用程序,即可以改变它用的认证机制.这 ...

  3. linux中create命令详解,linux中 pmap 命令详解

    通过查看帮助,返回了如下信息: Usage: pmap [options] pid [pid ...] Options: -x, --extended show details -X show eve ...

  4. linux pmap命令,linux中 pmap 命令详解

    通过查看帮助,返回了如下信息: Usage: pmap [options] pid [pid ...] Options: -x,--extended show details -X show even ...

  5. Linux中iptraf命令详解(IP局域网监控工具)

    2019独角兽企业重金招聘Python工程师标准>>> Linux中iptraf命令详解(IP局域网监控工具) 发布时间:2017-12-27 20:46:03   作者:佚名    ...

  6. Linux中etc目录详解

    Linux中etc目录详解 /etc目录 包含很多文件.许多网络配置文件也在/etc 中. /etc/rc   or/etc/rc.d   or/etc/rc*.d   启动.或改变运行级时运行的sc ...

  7. linux中mkdir命令含义,Linux中mkdir命令详解

    Linux中mkdir命令详解 linux mkdir用来创建目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1. 新建一个文件夹 one 2. 新建三个 ...

  8. Linux中fork()函数详解

    Linux中fork()函数详解 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事, ...

  9. linux中dd命令详解,Linux中DD命令详解

    Linux中DD命令详解 1.dd命令简介 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换.可以用该命令实现DOS下的diskcopy命令的作用.先用dd命令把软盘上的 ...

最新文章

  1. Hive1.2.1安装
  2. Maven 模块继承、聚合
  3. Android多媒体开发:录音机
  4. HTML基础(part2)--HTML介绍及空白合并
  5. 在Eigrp做不等值路由的负载均衡
  6. 做过leader,会数仓,项目经验丰富,能值多少钱?
  7. np.random中各随机采样函数一览
  8. Ciesz się Polską
  9. 主题模型TopicModel:LSA(隐性语义分析)模型和其实现的早期方法SVD
  10. Zoj 3511 线段树
  11. mysql安装教程【安装版】
  12. 极速PDF打开文件后工具栏不显示怎么办
  13. JVM高级特性与实践(九):类加载器 与 双亲委派模式(自定义类加载器源码探究ClassLoader)
  14. 数博会“十佳大数据案例”发布,我们入选了。
  15. WPF使用GMap.net框架开发地图应用
  16. MOSS入门介绍 和 概念介绍
  17. 滴滴D1上路之后,科技巨头正在“抢滩登陆“造车战场
  18. TCP/IP 详解(第 2 版) 笔记 / 3 链路层 / 3.2 以太网与 IEEE 802 LAN/MAN 标准 / 3.2.2 以太网帧格式
  19. idea鼠标放大字体设置
  20. wimlib-imagex.exe、DISM、WIMGAPI三种方式应用WIM的速度对比

热门文章

  1. vcruntime140_1.dll丢失的解决方法(仅一招解决)
  2. practice是什么意思_practice 是什么意思
  3. 职业自我认知的测试软件,职业生涯规划自我认知测试.docx
  4. mixup:beyond empirical risk minimization
  5. 扫地机器人朋友圈文案_装修建材行业如何写一条牛逼的朋友圈文案?
  6. 分析方法4---多维度拆解分析
  7. MATLAB面板布局—便捷美观
  8. vue-element-admin改造顶部一级导航,侧边二级导航+权限路由
  9. html p行间距离 p标签上下行间距CSS设置
  10. WhatsApp是啥软件?WhatsApp是什么意思?