max*_*max 4 linux authentication centos-6
什么是 Linux 中的 PAM(可插拔身份验证模块)?我知道它用于身份验证,但这有什么用?它是如何工作的?
我正在使用 CentOS 6.2。
简而言之,PAM是Pluggable Authentication Modules。
顾名思义,它使用插件式架构。PAM 使每个程序不必实现自己的身份验证机制。相反,它只是检查 PAM 堆栈。
因为 PAM 是可插拔的,所以您可以随意配置身份验证堆栈。针对 LDAP、NIS、RADIUS、MySQL、Oracle、BerkelyDB、SQLite、RSA 令牌、x509 证书、平面文件、一次性密码、谷歌双因素、月相等进行身份验证都可以任意组合配置。
当堆栈被激活、失败或成功时,PAM 还可以触发诸如挂载文件系统、创建目录、日志记录或任何其他操作之类的操作。
PAM 是认证瑞士军刀,为任何应用程序以任何必要的方式定制认证提供了无限的灵活性。
没有它,每个程序都必须独立支持所有这些功能,这确实是一个悲伤的世界。
小智 6
也许这个概述给了你所有你想知道的或者一个好的开始:http : //www.linux-pam.org/Linux-PAM-html/sag-overview.html
一些引用:
Linux-PAM 处理四种不同类型的(管理)任务。它们是: 认证管理;帐户管理; 会话管理;和密码管理。
Here is a figure that describes the overall organization of Linux-PAM:
+----------------+
| application: X |
+----------------+ / +----------+ +================+
| authentication-[---->--\--] Linux- |--<--| PAM config file|
| + [----<--/--] PAM | |================|
|[conversation()][--+ \ | | | X auth .. a.so |
+----------------+ | / +-n--n-----+ | X auth .. b.so |
| | | __| | | _____/
| service user | A | | |____,-----'
| | | V A
+----------------+ +------|-----|---------+ -----+------+
+---u-----u----+ | | |
| auth.... |--[ a ]--[ b ]--[ c ]
+--------------+
| acct.... |--[ b ]--[ d ]
+--------------+
| password |--[ b ]--[ c ]
+--------------+
| session |--[ e ]--[ c ]
+--------------+
Run Code Online (Sandbox Code Playgroud)
PAM 是一个框架,可帮助应用程序执行我称之为“与身份验证相关的活动”。PAM 的核心部分是一个库 (libpam) 和一组 PAM 模块,它们是 /lib/security 文件夹中的动态链接库 (.so) 文件。
笔记
1.修改前备份所有数据和PAM配置文件。
2.请小心执行配置选项。错误的配置会锁定所有登录访问,包括 root 访问。
3.正确阅读PAM语法。
以下是一些示例,尝试时要小心。
允许任何用户在没有密码的情况下 su 到 root。
为此,编辑文件 /etc/pam.d/su 并注释掉与 auth 堆栈相关的所有行,将它们替换为单行:
验证足够的 pam_permit.so
以普通用户身份登录并验证您现在可以使用 su - 成为 root 用户,而无需提供密码。
[raj@avi ~]$ su - [root@avi ~]#
禁用直接 root 登录
注意: 在执行此操作之前,请确保您至少有一个可以使用 su 成为 root 的帐户,否则您会将自己锁定在机器之外。
要在虚拟终端上禁用 root 登录,请编辑文件 /etc/pam/d/login 并添加条目。
需要身份验证 pam_securetty.so
此模块将阻止在 /etc/securetty 中未列出的终端设备上进行 root 登录。
tty1 #tty2 #tty3 tty4 tty5
如果您评论 #tty2 和 #tty3,那么从虚拟终端 tty2 和 tty3 就不可能以 root 直接登录。
防止非root用户关闭系统
以halt命令的PAM配置为例,编辑/etc/pam.d/halt文件。像这样
验证足够的 pam_rootok.so
需要身份验证 pam_deny.so
要以普通用户身份测试此登录并尝试暂停命令,您将收到以下错误。
[test2@avi ~]$ 停止 停止:需要root [test2@avi ~]$
这些只是一些示例。
原始来源
| 归档时间: |
|
| 查看次数: |
6974 次 |
| 最近记录: |