用Python 3在Linux中验证用户
我写了一个程序,需要用Linux的用户名和密码来验证用户。我觉得这应该和PAM有关。我在谷歌上搜索了Python3的PAM模块,但没有找到。有没有现成的PAM库可以用,还是我自己动手做一个库比较好?使用PAM会有一些特别的安全风险吗?
我知道可以用Python3的spwd类来验证用户,但我不想用那个,因为那样的话我的程序就得以root权限运行。
2 个回答
1
+che
你提到的那个 Python pam 模块不支持 Python3。我知道有三个 pam 模块,分别是 {'pam', 'pypam', 'spypam'},但是它们都不兼容 Python3。
我已经对 Chris AtLee 原来的 pam 包进行了修改,使它可以在 Python3 上使用。现在我在整理一下,准备再反馈给他。
4
虽然有点晚了,但我想把这个信息分享出来,方便大家通过谷歌找到:
有一个python3版本的模块,我在这里维护:https://github.com/leonnnn/python3-simplepam。这个名字和python2版本不一样,是为了避免和一个叫做python3-pam的Ubuntu软件包混淆,不过除了名字,功能上和Chris AtLee的模块是一样的。
在Fedora 19及以后的版本中,也可以通过yum来安装这个python3-simplepam模块。