常见的PAM认证模块简介(3)
作者:key920721 | 来源:互联网 | 2017-06-25 06:09
文章标题:常见的PAM认证模块简介(3)。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类
19.pam_rhosts_auth认证模块 所属类型: auth 功能描述:该模块为标准的网络服务(诸如rlogin、rsh)提供认证。 可带参数:请参考PAM文档说明 20.pam_rootok认证模块 所属类型: auth 功能描述:使用该模块具有很大的安全风险,该模块的唯一功能就是让uid为0的用户不需输入密码就可以登录系统。 可带参数:无 21.pam_securetty认证模块 所属类型: auth 功能描述:该模块用来控制root用户只可以从包含在/etc/securetty文件中的终端登录系统。 22.pam_shell认证模块 所属类型: auth 功能描述:如果用户的shell在/etc/shells中列出,则允许用户进行验证,如果/etc/passwd中没有指定shell,则缺省使用/bin/sh. 23.pam_time认证模块 所属类型: account 功能描述:对用户访问服务提供时间控制,也就是说,用来控制用户可以访问服务的时间,配置文件为:/etc/security/pam.conf。 可带参数:无 配置文件说明: 每一行的构成语法如下: services; ttys; users; times services:服务名称 ttys:规则生效的终端名,可以*号表示任何终端,!表示非。 users:规则作用的用户,可以*号表示任何用户,!表示非。 times:指定时间,通常使用日期时间格式。用两个字母指定日期,比如MoTuSa就是指星期一星期二和星期六。注意重复的部分将被排除在外,比如MoTuMo就指星期二,MoWk指除了星期一以外的每一天。两个字母的组合有: Mo Tu We Th Fr Sa Su Wk Wd Al Mo到Su分别指从星期一到星期天,Wk指每一天,Wd指周末,Al也指每一天。 采用24小时制指定时间,也即采用HHMM的形式。比如Mo1800-0300就是每个星期一的下午6点到第二天的凌晨3点。 24.pam_unix认证模块 所属类型: account; auth; password; session 功能描述:该模块是标准UNIX认证模块pam_unix的替代模块。 在作为auth类型使用时,此时该模块可识别的参数有debug、audit、use_first_pass、try_first_pass、nullok、nodelay,主要功能是验证用户密码的有效性,在缺省情况下(即不带任何参数时),该模块的主要功能是禁止密码为空的用户提供服务; 在作为account类型使用时,此时该模块可识别的参数有debug、audit,该模块主要执行建立用户帐号和密码状态的任务,然后执行提示用户修改密码,用户采用新密码后才提供服务之类的任务; 在作为password类型使用时,此时该模块可识别的参数有debug、 audit、 nullok;、not_set_pass、use_authtok、try_first_pass、use_first_pass、md5、bigcrypt、shadow、nis、 remember,该模块完成让用户更改密码的任务; 在作为session类型使用时,此时该模块没有可识别的参数,该模块仅仅完成记录用户名和服务名到日志文件的工作。 可带参数: debug:将调试信息写入日志 audit:记录更为信息的信息 nullok:缺省情况下,如果用户输入的密码为空,则系统能够不对其提供任何服务。但是如果使用参数,用户不输入密码就可以获得系统提供的服务。同时,也允许用户密码为空时更改用户密码。 nodelay:当用户认证失败,系统在给出错误信息时会有一个延迟,这个延迟是为了防止 黑客猜测密码,使用该参数时,系统将取消这个延迟。通常这是一个1秒钟的延迟。 try_first_pass:在用作auth模块时,该参数将尝试在提示用户输入密码前,使用前面一个堆叠的auth模块提供的密码认证用户;在作为password模块使用时,该参数是为了防止用户将密码更新成使用以前的老密码。 use_first_pass:在用作auth模块时,该参数将在提示用户输入密码前,直接使用前面一个堆叠的auth模块提供的密码认证用户;在作为password模块使用时,该参数用来防止用户将密码设置成为前面一个堆叠的password模块所提供的密码。 no_set_pass:使密码对前后堆叠的password模块无效。 use_authok:强制使用前面堆叠的password模块提供的密码,比如由pam_cracklib模块提供的新密码。 md5:采用md5对用户密码进行加密。 shadow:采用影子密码。 unix:当用户更改密码时,密码被放置在/etc/passwd中。 bigcrype:采用DEC C2算法加密用户密码。 nis:使用NIS远处过程调用来设置新密码。 remember=x:记录x个使用过的旧密码,这些旧密码以MD5方式加密后被保存在/etc/security/opasswd文件中。 broken_shadow:在作为account使用时,该参数用来忽略对影子密码的读错误。 likeauth:未知。 配置实例: 参考/etc/pam.d/system-auth 25.pam_userdb认证模块 所属类型: auth 功能描述:使用该模块允许您通过一个Berkeley数据库来验证用户,假如您使用这种数据库来保存用户信息的话。 可带参数: debug:将调试信息写入日志 icase:忽略密码大小写 dump:将数据库中的所有条目记录在日志文件中,有安全隐患。 db=filename:指定数据库文件的完整路径。 use_authok:强制使用前面堆叠的auth模块提供的密码。 unknown_ok:当数据库中没有用户信息时,不返回错误。 配置实例: #%PAM-1.0 auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers Onerr=succeed auth sufficient pam_userdb.so icase db=/tmp/dbtest auth required pam_pwdb.so shadow nullok try_first_pass auth required pam_shells.so account required pam_pwdb.so session required pam_pwdb.so 26.pam_warn认证模块 所属类型: auth,password 功能描述:记录服务、终端名、用户名、远程主机等信息到日志文件。 27.pam_stack认证模块 所属类型: auth,account, password,session 功能描述:该模块可以用来实现pam认证的递归调用。 可带参数: debug:将调试信息写入日志 service=name:指定调用的配置文件。 配置实例: 参考/etc/pam.d/login
推荐阅读
本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ...
[详细]
蜡笔小新 2024-12-27 20:21:48
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
蜡笔小新 2024-12-27 19:32:17
本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ...
[详细]
蜡笔小新 2024-12-27 13:55:14
在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ...
[详细]
蜡笔小新 2024-12-28 08:20:07
本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。 ...
[详细]
蜡笔小新 2024-12-27 22:54:11
本文探讨了线性Kalman滤波器(LKF)在不同自由度(2、4、7)的车辆悬架系统中进行主动控制的应用。通过详细的仿真分析,展示了LKF在提升悬架性能方面的潜力,并总结了调参过程中的关键要点。 ...
[详细]
蜡笔小新 2024-12-27 20:47:55
本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ...
[详细]
蜡笔小新 2024-12-27 19:25:14
本文介绍如何利用动态规划算法解决经典的0-1背包问题。通过具体实例和代码实现,详细解释了在给定容量的背包中选择若干物品以最大化总价值的过程。 ...
[详细]
蜡笔小新 2024-12-27 19:17:15
本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ...
[详细]
蜡笔小新 2024-12-27 19:10:10
本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ...
[详细]
蜡笔小新 2024-12-27 18:51:49
题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ...
[详细]
蜡笔小新 2024-12-27 18:14:31
本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ...
[详细]
蜡笔小新 2024-12-27 14:45:30
探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ...
[详细]
蜡笔小新 2024-12-27 14:34:44
本文探讨如何设计一个安全的加密和验证算法,确保生成的密码具有高随机性和低重复率,并提供相应的验证机制。 ...
[详细]
蜡笔小新 2024-12-27 13:49:45
本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ...
[详细]
蜡笔小新 2024-12-27 13:44:59