PAM(3)

news/2024/10/21 23:21:17/
 写到这一篇才发现自己了解的远没有预期的多..

上一次说了对话函数,对话函数是PAM模块与使用PAM进行认证的应用程序进行信息交互的桥梁,通过对话函数PAM模块可以获得用户的输入信息(明文、密文),

还有两套很重要的函数

pam_set_data(pam_handle_t *pamh, const char *pname, void *pdata, void (*freefunc)(pam_handle_t *pamh, void *pbuf, int status)),

pam_get_data(pam_handle_t *pamh, const char *pname, (void **)precvbuf)

这两个函数用来通一个PAM模块中不同的PAM SPI之间进行信息交流

PAM SPI有这么几种(就是一个特定功能模块需要实现的接口)

关于认证的 pam_sm_authenticate pam_sm_setcred(),密码管理的 session操作的,就不一一说了,这是基本的内容,很多地方讲的,使用上面的两个函数实现不同接口之间的信息交互(当然只能按着顺序,如pam_sm_authenticate总是比pam_sm_setcred先调用,因此可以在pam_sm_authenticate 中设置一个数据内容用于标记认证的结果,在pam_sm_setcred中通过判断pam_sm_authenticate中设置的数据内容来判断认证结果),这里说一下freefunc这个函数,这个函数用来实现pdata的释放。

 

pam_set_item(pam_handle_t *pamh, int itemtype, (void *)pbuf);

pam_get_item(pam_handle_t *pamh, int itemtype, (void **)pbuf);

这两个函数是用来进行模块之间信息交互的,itemtype的种类是约定好的,不需要自己定义.

 

有了这些知识就可以写一个最为简单的认证模块了,下一篇将给出一个简单但是完整的PAM模块的例子.


http://www.ppmy.cn/news/345129.html

相关文章

podman简介

podman简介掌握docker,跟上云时代的步伐 Podman是一个开源项目,可在大多数Linux平台上使用并开源在GitHub上。Podman是一个无守护进程的容器引擎,用于在Linux系统上开发,管理和运行Open Container Initiative(OCI)容器…

Impala

应用场景 在使用Hive的过程中,编写了HQL语句,发现HQL执行过程是非常慢的,因为hive采用的是把HQL转化成hadoop的MapReduce任务,然后编译,打包成jar包,分发到各个server上去执行,这个过程会很慢很慢!而impala也可以执行SQL,但是比Hive快很多,而Impala根本不用Hadoop的M…

pam

Pluggable Authentication Modules:可插入验证模块 比如一台服务器开着FTP、SSH等服务,那么新建一个用户默认就享有对以上的服务的操作权限,那么如果一个用户的帐号密码泄露会涉及到多个服务。 PAM最大的特点是实现了服务程序和认证机制的分…

PAM简介

PAM简介PAM是 PLUGGABLE AUTHENTICATION MODULES 的缩写.它是一套共享库.它可以让系统管理员选择应用程序怎样去认证用户,而不需要知道应用程序的内部的实现细节,也不需要重新编译代码。在PAM出现之前,一般的应用程序,在要去认证用…

Pacman基本使用

安装软件 pacman -S (软件名):安装软件,若有多个软件包,空格分隔pacman -S --needed (软件名):安装软件,若存在,不重新安装最新的软件pacman -Sy (软件名):安装软件前&a…

PAM4科普

PAM4科普 Bit Per SymbolGbps和Gbaud关系Unit Interval(UI)奈奎斯特频率 Data Rate(Gb/s Gagabit Per Second)PAMn LevelsBit Per SymbolSymbol Rate(Symbol Transfer Per Second)Unit Interval(UI)Nyquist FreqSNR Delta 图片来自于Intel发表的文章&am…

pam.d是干什么的

PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需…

MMpa一pa

最新的某131网站精美套图爬取代码出炉,截至2020年4月13日有效,之后就不知道啦。 来,各位看客老爷们可以搞一下: import requests import json import re import time import osdef find_img_src(html): #这个函数其实没用到re…