我想validation一个用户名和密码对应一个有效的Unix帐户。
我使用的当前解决scheme期望等待密码提示,然后提供密码并查看login是否成功。
有一个内核API或用户空间函数可以validationlogin名/密码。
我想我的一部分困惑是我不确定这是否是内核空间服务?
你应该用pam。 在debian / Ubuntu上你可以:
apt-get install python-pam
python pamtest.py中的简单代码:
请参阅/usr/share/doc/python-pam/examples/pamtest.py文件。 这真的很短,做你想做的。
要testing它,运行:
python /usr/share/doc/python-pam/examples/pamtest.py
在C pamexample.c中也有一个例子。
testing它:
gcc /usr/share/doc/python-pam/examples/pamexample.c -lpam -l pam_misc ./pam_misc theuser
这是严格的用户空间 。
要检查用户凭据是否良好,可以尝试以他身份login:
su - 用户名
但从长远来看,读PAM可能是更好的途径