Linux上可插入认证模块(PAM)库的接口,用纯Python编写(使用cTypes)
simplepam的Python项目详细描述
上的可插入身份验证模块(PAM)库的接口 linux,用纯python编写(使用cTypes)
概述
此模块提供一个authenticate函数,该函数允许调用方 对上的pam系统验证给定的用户名/密码 Linux系统。
用法
以根用户身份运行python3 setup.py install以安装模块,然后 导入authenticate函数,并按如下方式使用:
fromsimplepamimportauthenticateauthenticate(username,password,service)
全功能签名如下:
authenticate(username,password,service='login',encoding='utf-8',resetcred=True)
参数service指定要验证的pam服务 反对。默认为login。
username、password和service可以作为字符串或 字节。如果它们是字符串,则将使用 由encoding参数给出,如果省略,则作为utf-8。
如果身份验证成功并返回 False如果身份验证失败(或者pam返回错误(fixme))。
python版本
此模块与Python2和Python3一起工作。
许可证
这个original python-pam module是由chris atlee写的,参见 原始版权声明:
Copyright (C) 2007-2009 Chris AtLee <chris@atlee.ca>. Licensed under the MIT license.
Leon Weber于2013-2014年进行的修改leon@leonweber.de:
- 移植到python3
- 将呼叫添加到pam_end()
- 使用ctypes.byref()而不是ctypes.pointer()通过引用传递参数
- 正确处理密码、用户名和服务的编码(sebastian riese提供的补丁)
- 将调用添加到pam_reset()(由lertsenem修补)
- 重新添加python2支持(enovance的victor stinner提供的补丁)
此模块在MIT license下获得许可。