ImageVerifierCode 换一换
格式:DOCX , 页数:55 ,大小:124.68KB ,
资源ID:4566169      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4566169.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(TheLinux-PAM系统管理员指南.docx)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

TheLinux-PAM系统管理员指南.docx

1、The Linux-PAM系统管理员指南 Andrew G. Morgan, morgan@linux.kernel.org 翻,译:孙国清(Thomas Sun),thomassun@DRAFT vO.71 1999/11/8这个文档所涉的是系统管理员须知的关于Linux-PAM库 的知识.它涉及了设置PAM的正确语法并讨论维护一个可靠系统的正确的策略. 1 .介绍Linux-PAM (Linux下的可插入式认证模组)是一套共享函数库,允许系统管理员来决 定应用程式如何识别用户. 换句话说,就是用不着(重写和)重新编译一个(支援PAM的)程式,就可以切换它所用的 认证机制.你可以整

2、个的升级你的认证系统而不用去管应用程式本身. 传统上,当一个应用程序有身份识别的需求,它就不得不把某一种验证算法写进去.例如, 就传统的UN*X系统而言,核对使用者身份的方法就是要求用户输入正确的密码.这密 码,除了开头的两个字符作为“salt”,剩下的是加密过的(经由crypt(3)).接著用户被验 证这个加密过的密码是否与他在密码档(就是/etc/passwd文件)中他的那笔记录的第 二栏相符•在这样的系统里,绝大部份权限的授予是基于这种单一的认证机制.权限决定 于个人的识别码(uid)和不同群组的成员.服务和程式是否可用由个人和群组的识别码 决定,传统上,群组关系经由/etc/grou

3、p文件中的记录来赋予. 不幸的是,随着计算机速度的不断提高,再加上满世界的关于网路计算的介绍,使得象这 样曾是平安的验证机制,变得易受攻击了.面对这样的现实,新的验证方法正在持续的开 发中. Linux-PAM工程的目标是把赋权局部的开发以可靠的合适的鉴定模式从软件中别离出 来。这目标已经通过提供一组库函数实现了,应用程序可以用这些函数来请求验证某个 用户。这个PAM由特定的系统文件配置,/etc/pam.conf (或者是在/etc/pam.d/里 的一系列配置文件)以经由特定的可用的认证模组来鉴定某个用户的请求。这些个模 组通常位于/usr/lib/security目录并且以可动态加载

4、的目标文件的形式出现(参见 dlopen(3)). 2 .文中的说明在继续阅读之前,请记住本文假定提到的文件位于默认的目录。这个默认的目录我们遵 循RFC(RFC-86.0,见bibliography)中的约定。如果你正用一个支持PAM但是却选 择以不同的方式发布这些文件的发布版的Linux(或是其他的OS) (Red Hat就是这样 的发布版),那你从文章中直接拷贝例子的时候就要注意一下了. 举个例子,where it is explicit,本文假定PAM可加载目标文件(就是模块)位于这个 目录:/usr/lib/security/.可是,Red Hat Linux,为遵循 Linux

5、 文件系统标准(the FSSTND),把这些文件放在/lib/security.在使用本文的例子时请小心的做一些转换 的工作。 3 .概观开始不是个坏想法!): #default; deny access #/usr/lib/security/pam_deny.so /usr/lib/security/pam_deny.so /usr/lib/security/pam_deny.so /usr/lib/security/pam_deny.so /usr/lib/security/pam_deny.so /usr/lib/security/pam_deny.so /usr

6、/lib/security/pam_deny.so /usr/lib/security/pam_deny.so OTHER auth requiredOTHER account required OTHER password requiredOTHER session required Whilst fundamentally a secure default, this is not very sympathetic to a misconfigured system. For example, such a system is vulnerable to locking every

7、one out should the rest of the file become badly written. pam_deny (在后面的章节里解释)不够复杂,比方,它被呼叫时不会记录任何信息,如 此除非用户告诉管理员说他不能执行某应用程序,管理员可能因为不知道他的系统被错 误配置而已经远远的走开了. 把下面的两行加在前面的例子之前就可给管理员提供合适的警告. #default; wake up! This application is not configured #OTHER auth required /usr/lib/security/pam_warn.so OTHER

8、 password required /usr/lib/security/pam_warn.so两行''OTHER auth”是堆叠的范例. 如果用/etc/pam.d/卜的文件来设定,相应的设定档如下: ## default configuration: /etc/pam.d/other #auth required auth required account required password required password required session required auth required auth required account required pass

9、word required password required session required /usr/lib/security/pam_warn.so /usr/lib/security/pam_deny.so /usr/lib/security/pam_deny.so /usr/lib/security/pam_warn.so /usr/lib/security/pam_deny.so/usr/lib/security/pam_deny.so 这是唯一完整的配置/etc/pam.d的例子,大体上能说明如何转换剩下的例子到这种配 置方案. 对于不重要的主机,管理员不想要Li

10、nux-PAM的强大能力,以下(从/etc/pam.conf)里节选的行仿效了历史上的Linux的设定. ## OTHER OTHER OTHER OTHER # OTHER OTHER OTHER OTHER auth required account required password required session required # default; standard UNIX access /usr/lib/security/pam_unix_auth.so/usr/lib/security/pam_unix_acct.so /usr/lib/sec

11、urity/pam_unix_passwd.so /usr/lib/security/pam_unix_session.so通常这提供了大多数应用程序一个能执行的环境,不过大多数不代表所有,如果想要提 供anonymous-ftp,就要对ftpd多加几行. 要开放anonymous-ftp,得用下面几行来替换默认(OTHER)设定. #ftpd; add ftp-specifics. These lines enable anonymous ftp over # standard UNIX access (the listfile entry blocks access tousers

12、 listed in /etc/ftpusers) #ftpdauthsufficient/usr/lib/security/pam_ftp.so ftpdauthrequired/usr/lib/security/pam_unix_auth.souse_first_pass ftpdauthrequired/usr/lib/security/pamjistfile.so \onerr=succeed item=user sense=deny file=/etc/ftpusers注意,第二行是必须的,因为如果某特定的服务在/etc/pam.conf里存在任何条目,那 么默认的设定就会被

13、服务程序(这里指ftpd)忽略.又一次,这还是个模块堆叠的例子. 用了 sufficient控制符,这是说 ' ' 如果这个模块认证了用户,就忽略会面的auth模块 还有它用了、'use_first_pass”参数,这指示UNIX认证模块不要提示用户输入密码,而是采用ftp模块已经获得的那个密码. 5. Linux-PAM的平安问题这一章讨论以平安的方式使用Linux-PAM的一些好习惯.目前还可怜的少・・・・欢迎提 供建议! 5.1 如果弄错了Linux-PAM有可能严重改变你系统的平安级别.你可以选择没有防护或绝对平安(不 允许访问).通常,Linux-PAM容易犯后种错误,任何设定

14、档的错误将会局部或完全禁 止对系统的访问. 在配置Linux-PAM时最可能遭遇的最生动的问题是删除设定档:/etc/pam.d/*和/ 或/etc/pam.conf.这将会把你关在自己的系统门外. 为了恢复,最好赌一下重开机进入单用户模式然后设定正确的文件.下面是从David Wood的救生email改写而来: 注意:一下假定进入单用户模式不需要输入密码.然而,Debian和其他一些发布版不 是这样的.Init会呼叫sulogin来要求输入root的密码.程序sulogin不用PAM,所以 毁坏掉的PAM设定不会破坏这程序. >;那我先在还能做些什么苦差呀? 好,不要惊慌•你首先要

15、认识到的是这种事情会发生在50%的从未碰过PAM的用户身 上. 这已经不止发生一两次了,每次都不一样,但是最终,每次解决方法总是一样的. 首先,我希望你设定了 LILO的延时,如果是的,重开机,按下shift或者tab或其它什么键, 然后输入: LILO boot: linux single(把'linux'替换成你的linux启动字串). 这会把你带进系统而不用登入.想知道从控制台破掉一台Linux主机是多容的事? 现在知道了吧. 如果没法那样做,那你就要一个启动软盘和一个根文件系统盘象slachware的 rescue.gz. (Red Hat的安装盘有这样的模式.)总之,重点

16、是要进入到root提示符. 然后,我假设你还没有完全打烂你的PAM安装包・仅仅是破坏了设定档. 这里是重新设定PAM的步骤: cd /etc mv pam.conf pam.conf.orig mv pam.d pam.d.orig mkdir pam.d cd pam.d然后用vi在这目录下创立一个叫“0ther”的文件,包含下面四行: auth requiredpam_unix_auth.so account required pam_unix_acct.so password required pam_unix_passwd.so session required

17、pam_unix_session.so现在你有了 PAM的最简单的设置了,这象你以前用的方式一样工作. 所有的事情又魔法似的能运作了. 来试着按ALT-F2从另一控制台登入.如果无法登入,你就有了大麻烦了,或者打错了 什么. 奇怪的是如果你在设定档里输错了东西,你不会从控制台得到任何错误■错误只会记 录在日志档里.所以看看那儿!(tail /var/log/messages.) 从现在起你可以回头做实际设定,但愿这首次经历没把你搞懵了. :/一些要点(to make everything "right" with Red Hat...): 从RedHat安装目录安装最新的pam, p

18、amconfig, and pwdb ,下一个指令 rpm -Uvh [或需要加上--force too] pam-* pamconfig-* pwdb-* 然后确认你安装(或重装)了最新版的libc, util-linux, wuftp,和NetKit.或许 还有相关的x应用程序,像xlock,但我还从没有用过.(注:这篇文章写的比拟早,那 时候 X程序很少)防止采用一个脆弱的“other•”设定. 拥有•个脆弱的默认设定(OTHER)是件坏事.OTHER是所有面向PAM的程序的默认 设定,如果它很脆弱,你的系统就有可能变得易受攻击. 这里有个"other”设定的例子.pdm_d

19、eny模块会拒绝所有访问同时pam_warn模块 会在在系统日志里记下auth.notice: ## The PAM configuration file for the ' other' service # auth required pam_deny.so auth required pam_warn.so account required pam_deny.so account required pam_warn.so password required pam_deny.so password required pam_warn.so sess

20、ion required pam_deny.so session required pam_warn.so 6.可用模块的参考指南以下是目前Linux-PAM可用的各种模块的具体说明,通常这些模块可以自由使用,除 非特别指出. 在拷贝下面的例子时也请注意on text conventions above里的备注. 6.1 access 模块概要 模块名: pam_access Alexei Nogin ;维护者: 作者提供的管理组: accountCryptographically sensitive: 平安等级:

21、 代码清洁度: 系统依赖: 需要•个设定档:/etc/security/access.conf网络接口: 如果设定了就通过PAM_TTY ,否那么尝试呼叫ttyname。从标准输入文件描述符 得到 tty 名字.标准的 gethostname()z yp_get_default_domain()z gethostbyname()呼叫.NIS用来提供网络用户组的支持. 概述提供logdaimon(?)类型的登录访问控制. Account component识别的参数: 描述: 这模块提供基于登录名称和主机(或域名),internet地址(或网络数),或者非网络登 录的终端名字的录

22、访问控制,诊断信息通过syslog(3)记录.来自Wietse Venema的 logdaemon-5.6 里的 login_access.c 经过 A. Nogin 修改后采用. 例子/建议用法: 推荐使用.例如,在管理像NIS服务器利邮件服务器时)你需要有一些活动的帐号, 但却不想所有这些帐号都有登录的权限. 对于/etc/pam.d类型的设定方式,你的模块放在/lib/security里,把下面一行加 在 /etc/pam.d/login, /etc/pam.d/rlogin, /etc/pam.d/rsh 和 /etc/pam.d/ftp 前面: account require

23、d /lib/security/pam_access.so 注意,除非你的系统忽略.「hosts,否那么这模块不会产生作用.见pam_rhosts_auth 的文档. 在发布包里包含有一个access.conf的样本. 6.2 Ch root概要 模块名: pam_chroot Bruce Campbell ;维护者: Author; proposed on 20/11/96 - email for status提供的管理组: account; session; authenticationCryptographically s

24、ensitive: 平安等级: 代码清洁度: Unwritten. 系统依赖: 网络接口: 要求是 localhost. 概述这模块的目的是对一般用户进行透明的包裹,这可以把他们置于一个伪装的文件系统 (比方,他们的实际上是/some/where/else). 如果你有儿个不同类的用户,并且你对于平安性有一点点偏执,那这模块将非常有用. 这可以用来限制哪些用户能看到什么,并且限制他们只能执行哪些程序. Account component: Need more info here. Authentication component: Need more info here

25、 Session component: Need more info here. 识别的参数: Arguments and logging levels for the PAM version are being worked on. 描述: 范例/建议用法: 提供一组合理的程序-仅放入'cat', 'ls'z 'rm'z •cp'和'ed’有点… 不要太极端(比方I,你可以为每个用户设定各自分开的环境,但这样会太浪费磁盘 空间.)Cracklib可插入的密码强度检查程序 概要 模块名: pam_cracklib Cristian Gafton

26、hat >;维护者: 作者. 提供的管理组: passwordCryptographically sensitive: 平安等级: 代码清洁度: 系统依赖: 需要系统库 libcrack 和系统字典:/vai7cache/cracklib/cracklib_dict. 网络接口: 概述这模块可以插入给定程序的password堆叠来提供密码的强度检验. 这模块以以下流程运行:它首先呼叫Cracklib例程来检查密码的强度;如果Cracklib 认可,那么模块会经行额外一些检查,这包括: * Palindrome -新密码是否为旧密码的回文? * Case Change O

27、nly -新密码是否只是拿旧密码改了些大小写? * Similar -新密码是否太像旧密码?这由一个参数控制,difok这是新旧密码的 相差字符能被接受的最小个数,模式是10个或者新密码的1/2长,二者取小的那个. * Simple -新密码是否太简单?这由五个参数控制:minlen, dcredit, ucredit, Icredit和ocredit,这些参数如何生效以及默认值是什么见参数一节. * Rotated -新密码是否为旧密码的轮转? * Already used -密码是否曾经用过?先前用过的密码保存在 /etc/security/opasswd 里. 不带参数的配置这

28、模块可以很好的工作在标准的unix密码加密环境.对于MD5加密, 密码可以长于8个字符,那么这模块的默认设定就使用户选择一个满意的密码变得困难 了,显然,对于新密码不能包含多于一半的旧密码的字符的要求就成了一个不一般的限 制了.比方,旧密码"the quick brow fox jumped over the lazy dogs"将难于更 改…此外,默认设定允许密码短至5个字符.对于采用md5加密算法的系统,加大允 许的最短密码长度会是个好主意.One can then allow more credit for different kinds of characters but accept

29、 that the new password may share most of these characters with the old password. Password component识别的参数: * ebug; type=XXX; retry=N; difok=N; minlen = N; dcredit=N; ucredit=N; lcredit=N; ocredit=N;描述: 这部件的动作是提示用户输入密码然后通过比对系统字典和一连串规那么来检查它的 强度以识别出差劲的选择. 默认动作是提示用户输入一个密码,检杳强度,然后,如果通过检查,提示第二次 输入密码(用来

30、检验第一次的输入是正确的),这之后,密码被当作新的认证标识传送 给随后的安装的模块. 默认的动作可以用一些参数改成许多不同的方式: * debug -这选项令此模块写入信息到syslog(3)以显示此模块的现为(此选项 不会把密码信息写入日志档). * type=XXX -提示用户输入密码的默认提示符是:''New UNIX password: "和 '' Retype UNIX password:用此参数可以把"UNIX"替换成 XXX. * retry=N -木模组要求新密码(用来检查强度)的默认次数是1次.用这参数 可以增加到N次. * difok=N -这参数会改变允许新旧密

31、码的字符差异为至少10个这样的默认值. 此外,如果有一半的字符不同,新密码就会被采用. * minlen = N -可接受的最短的密码长度+1.此外对于新密码的长度,对于每 个不同种的字符(其它,大写,小写和数字),会得到“加分“(长度+1).此参数的默认 值是9,这对于旧的UNIX密码体系已经够了,但是对于利用md5的额外平安性或许 太小了.注意,Cracklib本身有一对长度的限制:4,写死在程序里的“路太短”的限 制;6,定意的限制.这两个限制会不经过参考minlen而被检查出来.如果你要允许密码 长度短至5,你要么不要使用此模块要么重新编译crack库并重新编译此模块. * dcr

32、edit=N -这是对于新密码因包含数字而得到“加分”的限制.如果你有小 于或等于N个数字,每个数字将会对整个长度+1来迎合当前minlen的值.dcredit 的默认是1,对于小于10的minlen推荐此值. * ucredit=N -这是对于新密码因包含大写字符而得到“加分”的限制.如果你 有小于或等于N个大写字符,每个大写字符将会对整个长度+1来迎合当前minlen的 值.ucredit的默认是1,对于小于10的minlen推荐此值. * lcredit=N -这是对于新密码因包含小写字符而得到“加分”的限制.如果你有 小于或等于N个小写字符,每个小写字符将会对整个长度+1来迎合当前

33、minlen的值. Icredit的默认是1,对于小于10的minlen推荐此值. * ocredit=N -这是对于新密码因包含其它字符而得到”加分”的限制,如果你 有小于或等于N个其它字符,每个其它字符将会对整个长度+1来迎合当前minlen的 值.ocredit的默认是1,对于小于10的minlen推荐此值. 范例/建议用法: 为举例说明如何使用此模块,我们列出如何将此模块和pam_unix部件堆叠: #下面两行堆叠了两个password类型的模块.在这例子里,用户有3次机会输入健 壮的密码. # ”use_authok”参数确保pam_unix模块不再另外提示输入密码,而是采

34、用由pam_cracklib提供的密码. # passwd password requiredpam_cracklib.so retry=3passwd password requiredpam_unix.so use_authtok 另外•个例子(以/etc/pam.d/passwd的格式)是用md5密码加密的情形: #%PAM-1.0# #下面两行采用MD5系统,密码长度最少14+出现数字的最多2个“加分”+#出现其它字符的最多2个“加分“,并且至少有3个字符没有出现在旧密码中. #password required pam_cracklib.so \ difok=3 minl

35、en = 15 dcredit= 2 ocredit=2password required pam_unix.so use_authtok nullok md5 6.4死锁模块概要 模块名: pam_deny Andrew G. Morgan ;维护者: current Linux-PAM maintainer提供的管理组: account; authentication; password; sessionCryptographically sensitive: 平安等级: 代码清洁度: 清洁的. 系统依赖: 网络接口: 概述这模块用来拒绝访问

36、它永远透过PAM架构告知程序失败.正如概述above里提到的, 这模块适合用在默认(OTHER)条目. Account component识别的参数: 描述: 这部件除了返回失败外不做任何动作,返回类型是PAM_ACCT_EXPIRED. 范例/建议用法: 把这模块堆叠在account里将会阻止用户通过应用程序(引用Linux-PAM的帐户For the uninitiated,我们开始于考虑一个例子。我们来说说一个应用程序提供一些 服务给用户:login就是这样的程序。Login做两件事,它首先确认提出请求的用户 正是他们自己,第二步提供给他们所请求的服务:就login而言服务即

37、是一个命令行 夕卜壳(command shell)(如bash, tcsh, zsh之类。)以这个用户的身份去跑。 传统上,前一个步骤通过login提示用户输入密码然后确认系统是否同意登入;接着确 认(就系统而言)用户确实是提出要求的那人。这类工作就是Linux-PAM的典型应用。 从应用程序员的角度看(在这个例子里就是写login程序的人),Linux-PAM处理认 证的工作一一确认用户的身份。 Linux-PAM的弹性在于,你,系统管理员有权来决定实施怎样的验证方案。你有权来 设定你的系统里的任何支持PAM的应用程序的验证方案。就是说,你可以将验证方案 设计成单纯的信任〉;任何人(p

38、am_permit)到像偏执狂似的通过视网膜扫描,声音 识别和一个密码! 举例说明你所面对的弹性,考虑以下情形:系统管理员(家中的父母)希望提高他的使 用者(孩子们)的算术能力。她可以设置他们喜欢玩的''Shoot'em up〃(游戏,当然 得支持PAM)通过提问小于12的•对随机数的乘积的方法来进行认证。很明显不管游 戏本身如何,他们会很快学会乘法表。等他们再大些,认证可以升级到包括多位除法! (译者:我已经准备用这种方法来教我宝贝女儿学加减乘除了。)Linux-PAM处理四种独立的(管理)工作。它们是:认证管理;帐号管理;会话期 间管理; 和密码管理。The association o

39、f the preferred management scheme with the behavior of an application is made with entries in the relevant Linux-PAM configuration file.管理的功能由配置文件中指定的模块来完成。这文 件的语法在below局部讨论。 卜.面的插图描述了 Linux-PAM的整个组织结构。 ++ | application: X |__________________________ | authentication-1—Linux" |—< —| PAM config f

40、ile| |+[--<-/-] PAM ||= = = = = = = = = = =I |[conversation()][—+\ ||| X auth .. a.so | 4- + |/ +-n—n+| X auth .. b.so | | service user | A III V A••■■ I ■» ।■■ ••■■ +—uu1- I I 管理函数pam_dcct_mgmt())获取访问. 下面的例子使登入变得不可能: #add this line to your other login entries to disable all accounts # lo

41、gin account required pam_deny.soAuthentication component 识别的参数: 描述: 这部件除了返回失败什么也不做,当pam_authenticate()被呼叫(当应用程式试 图认证用户时)时返回值是PAM_AUTH_ERR;当pam_setcred()被呼叫(当建立连接 并设置用户证书时-在具体实现中这函数不太可能被呼叫)时返回 PAM_CRED_UNAVAIL . 范本/建议用£ 为拒绝默认程序的访问,在你的Linux-PAM里包含下面一行: #add this line to your existing OTHER entrie

42、s to prevent # authentication succeeding with default applications. #OTHER auth required pam_deny.so Password component识别的参数: 描述: 模块的这部件会阻止用户有机会修改密码.它总是返回PAM_AUTHOK_ERR. 范本/建议用法: 这模块可以用来阻止应用程序更新申请者的密码,比方,为阻止login在用户的旧 密码过期后自动提示输入新密码,应该把下面一行放在你的设定档里: #add this line to your other login entries t

43、o prevent the login # application from being able to change the user's password. #login password required pam_deny.so Session component识别的参数: 描述: 模块的这一方面会阻止应用程序在主机上开启会话. 范本/建议用法: 和其它的session模块一起工作,那模块也许显示一下“当日消息这模块可以用 来阻止用户开启shell.如有pam_motd在先,我们或可用下面的设置来阻止用户登 录并提示用户现在是系统维护时间: #An example to

44、 see how to configure login to refuse the user a # session (politely) #login session requiredpam_motd.so \ file=/etc/system_timelogin session requiredpam_deny.so 6.5 Set/unset环境变量概要 模块名: pam_env Dave Kinchlea ;维护者: Author提供的管理组: Authentication (setcred)Cryptographical

45、ly sensitive: 平安等级: 代码清洁度: 系统依赖: /etc/security/pam_env.conf网络接口: 概述这模块允许(取消)设定环境变量.Supported is the use of previously set environment variables as well as PAM_ITEMs such as PAM_RHOST. Authentication component 识别的参数: debug; conffile=configuration-file-name; envfile=/env-file-name; readenv=/O|l

46、 描述: 这模块允许你(取消)设定任意的环境变量为固定字串,先前的环境参数和/或 PAM_ITEM. 通过设定档(默认是,/etc/security/pam_env.conf,但是可由connfile参数改 变)进行所有的控制.每行由变量名开始,每个变量有两个可选项:DEFAULT和 OVERRIDE. DEFAULT用来设定变量的默认值,如果没有指定默认值那么设为空字串. OVERRIDE告诉pam_env如果变量以设定就覆盖(覆盖””默认值).如果未设定 OVERRIDE,那么假定为”“并且不会覆盖其它值. VARIABLE [DEFAULT=[value]] [OVERRIDE=[

47、value]] (也许不存在的)环境变量可以指定值为$代立仍9}并且(也许不存在的)PAM」TEM可以用来指定值:&{string} . $和&可以由反斜线脱意为一般字符 (成为\$本生).双引号可以用来封装有空格的值(但是不可以用作变量名)必须整个被 引号包含并且里面不应该有引号或者脱意的引号. 这模块还可以解析包含单纯的每行是键=值格式的文件(默认是 /etc/environment).可以用envfile旗标设定默认文件并且可以设定readenv旗 标为1或0来决定是否启用这选项. 这模块的行为可以由以下旗标来更改:flags: * debug ■往syslog(3)写更多的信息

48、 * conffile=filename -默认的设定档是/etc/security/pdm_env.conf.这选 项可以覆盖此默认,必须提供完整的文件名,目录+文件名. * envfile=filename -默认从/etc/environment里读键=值对来设定变量. 这选项覆盖默认文件,必须提供完整的文件名,目录+文件名. * readenv=O|l -翻开或关闭读取envfile指定的文件(0=关闭,1=开启).默 认是开启. 范本/建议用法: 更多的用法见pam_env.conf . 6.6 filter 模块概要 模块名: pa m_f liter A

49、ndrew G. Morgan ;维护者: 作者. 提供的管理组: account; authentication; password; sessionCryptographically sensitive: Not yet. 平安等级: 代码清洁度: 在Linux系统下可以干净的被编译. 系统依赖: 需要安装filters . 网络接口: 概述这模块用来提供给类似ttysnoop(需要一些参考)的程序一个可选的插件,因为还没有 为这功能所写的插件出现,这模块目前只是个玩具.提供给这模块的唯一•个插件仅是 对输入输出流做大小写转换,(这会变得非常讨厌并对基于termcap的编辑器不太友好) Account+Authentication+Password+Session components 识别的参数: debug; new_term; non_term; runX描述: 每个组建都有呼叫过滤器的能力.过滤器总是以所属应用程序的权限被execv(2) 而不是以用户的权限.因此这些过滤器并不总能被用户不经关掉相关会话而杀掉. 这模块的行为会被传给它的参数相当程度的左右: * debug -这选项增加模块被执行时写进syslog(3)的信息量. * new.ter

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服