Python PAM:介绍密码认证模块及其使用
什么是 PAM?
PAM(Pluggable Authentication Modules,可插入认证模块)是一个标准的UNIX / Linux认证框架,它提供了一种标准的身份验证机制以及可插拔的身份验证模块,从而使管理员可以根据应用程序的需要自定义身份验证机制。PAM 不是用来替代已经存在的身份验证或者授权方式,而是作为现有的方式的补充,为应用程序提供了一种简单的方式,使应用程序能够通过统一的方式操作系统提供的身份验证和授权机制。
PAM 的工作原理
PAM 工作原理非常简单,当用户通过系统登录时,PAM 将会依次调用所配置的认证方法。PAM 对每个方法都进行验证,只有在验证通过后才会调用下一个方法,最终回调用授权方法,确定用户是否有权访问资源。
Python PAM
Python PAM 是一个 Python 模块,提供了 Python 语言访问 Pluggable Authentication Modules 的接口。Python PAM 模块的目的是使开发者不必熟悉底层 C 代码,也可以使用 PAM 框架中提供的身份验证和授权机制。Python PAM 中包含典型的 PAM API 调用,例如 pam_start()
, pam_authenticate()
, pam_acct_mgmt()
和 pam_end()
等。
Python PAM 的使用
Python PAM 的使用方式非