分享
 
 
 

基于PAM的用户认证

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

任何要授予用户特权的程序都要能够进行用户认证。当您登入系统时,您需要提供用户名和口令,而后登入进程据此以检验登入的合法性---确认您就是该用户。还有除口令认证之外的其他认证形式,而且口令的存储方式也是各不相同的。

PAM(可插拔认证模块)方式允许系统管理员设置多种认证措施而无须重新编译要进行认证的程序。使用PAM,您通过编辑一个配置文件来决定认证模块如何插入到程序之中。大多数红帽子LINUX用户无须改动这个配置文件。因为如果使用RPM来安装程序的话,系统会自动做有关改动。但是,如果您想定制认证模块的话,就需要理解配置文件内容。

11.2.1 PAM 模块

PAM定义了四种类型的模块。auth模块提供实际的认证过程,可能是提示口令输入并检查输入的口令,设置保密字如用户组或KERBEROS通行证。account模块负责检查并确认是否可以进行认证(比如,帐户是否到期,用户此时此刻是否可以登入,等等)。 password模块被用来设置口令。一旦用户认证通过,session模块将被用来做使用户使用其帐户前的初始化工作,如安装用户的HOME目录啦,使能用户的电子邮箱啦,等等。

这些模块可以堆叠,多次使用。比如:rlogin通常使用至少两种认证方法,如果“rhosts” 认证成功了,就允许建立连接,否则还要进行标准的口令认证。

随时可以加入新的模块,而PAM感知的程序可以被配置来使用它。举个例子,如果您有一个一次性口令计算系统,可以写出一个模块来(系统中包含有如何书写模块的文档资料),PAM感知的程序无须重新编译就可以使用这个新的一次性口令计算器。

11.2.2 服务

每个使用PAM的程序定义它自己的服务名称。login程序定义其服务类型为login,ftpd程序定义其服务类型为ftp,等等。一般来说,服务类型就是存取该服务的程序的名字,而不是提供服务的程序。

11.2.3 配置文件

目录/etc/pam.d被用来配置所有的PAM应用程序。(在早期的PAM版本中用的是 /etc/pam.conf;但是若/etc/pam.d不存在的话,仍旧会找/etc/pam.conf,不过记住,这是一个过时的文件。)。每一个应用程序(确切的说是服务)都有它自己的配置文件。一个真实的文件可能如下:

#%PAM-1.0

auth required /lib/security/pam_securetty.so

auth required /lib/security/pam_pwdb.so shadow nullok

auth required /lib/security/pam_nologin.so

account required /lib/security/pam_pwdb.so

password required /lib/security/pam_cracklib.so

password required /lib/security/pam_pwdb.so shadow

nullok use_authtok

session required /lib/security/pam_pwdb.so

第一行是注释。任何以#开头的行都是注释。以下的三行排列着用于login认证的三个模块其中第一行用以确认用户是否以root登入,允许登入的tty被列在文件/etc/securetty 中(如果文件存在的话)第二行将会使用户被提示输入口令并校验口令。第三行表示查文件/etc/nologin是否存在,如果存在就显示其内容,而且如果用户不是root,则禁止其登入。即便第一个模块失败了,也要完成三个模块的校验。这是一种安全上的考虑 ---这种设计永远不要让用户知道他或她们为什么会被拒绝,否则会让其更容易突破认证。您可以将“required”改成“requisite”来修改这种认证方式。也就是说,如果有任何“requisite”模块以失败返回,整个PAM认证将终止再调用其它模块也以失败返回。

第五行表示任何必要的记帐信息要被记载。例如,如果设置使用影子口令,pam_db.so 模块将被执行以检查该帐户是否失效或者用户口令是否超期而需要修改。

第六行(该行需要折行来写)用以指定如果login程序改变用户的口令,它应当使用 pam_pwdb.so来完成。(这仅在auth模块检测到口令需要被改变时,例如一个影子口令已经过期时才使用)

最后一行表示pam_pwdb.so模块将被用来管理当前的会话过程。而目前该模块什么也不做;它可以被替换为别的所需的模块。

要注意配置文件中每一行的顺序不是任意的。尽管required模块以什么顺序被调用并没有多大关系,但是还有其它一些控制符,其中optional很少在红帽子LINUX中使用,而 sufficient 和requisite就要求行的顺序不能颠倒。

让我们来看一下rlogin的认证配置:

auth required /lib/security/pam_securetty.so

auth sufficient /lib/security/pam_rhosts_auth.so

auth required /lib/security/pam_pwdb.so shadow nullok

auth required /lib/security/pam_nologin.so

这和login的描述极为相似,但是其中比login的多一行模块描述,而且模块的顺序也不同。首先,pam_securetty.so模块将禁止以root从不安全的终端登入。这将有效的阻止任何root方式的远程登入。如果您不想禁止的话(在这种情况下,我们建议您的机器要么没和Internet 相连,要么呆在一个配置良好的防火墙后面),把这一行删掉就是了。其次,pam_nologin.so 模块将检查/etc/nologin,如上所述。第三点,如果pam_rhosts_auth.so模块认证通过,PAM就立即以成功返回而不再做任何口令校验。如果pam_rhosts_auth.so认证失败,该失败将被忽略,继续调用pam_pwdb.so模块进行正常的口令认证。如果您在securetty认证失败后不想让系统继续以口令询问的话,您可以把pam_securetty.so模块的required 改为 requisite。

11.2.4 影子口令

pam_pwdb.so模块会自动检测您是否使用影子口令以做出相应的调整。请查看第 11.3 节获得更多有关操纵影子口令工具的信息。

11.2.5 更为详尽的信息

本章描述的仅仅是PAM的介绍性知识。更多的资料位于系统的/usr/doc/pam*,其中包含了系统管理员指南,模块书写手册,应用系统开发者手册,和PAM标准说明DCE-RFC 86.0。同时,这些文档也可以从红帽子的WEB站点获得,http://www.redhat.com/linux-info/pam/.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有