我现在正在尝试 2 天来编写一个自定义 PAM 脚本,该脚本在 Linux 下使用 sys 用户进行身份验证并通过。
我用 C、Python 和 Perl 做了例子,但我对它们都有同样的问题。
当我在我的 shell 中测试脚本时,一切正常。
我用
# ./script;echo $?
并得到 0 或 1 回来。
但是一旦我尝试将它与 mod_authz_external 和 Apache 一起使用,它就会停止工作。
即使使用有效用户,我也会得到 1 并且无法登录。
似乎 PAM 有问题,也可能是 Apache 环境有问题。
我在某处读到我必须设置环境变量才能使用 PAM,但我不知道如何。
以下是 C、Perl 和 Python 中的示例:
C: http: //pastebin.com/v9Yn9xvK
Perl: http: //pastebin.com/cqzqztYg
Python: http: //pastebin.com/32cvvCjS
选择你喜欢的任何东西,它们的工作原理都是一样的……返回退出代码 0 或 1。
每一个帮助或提示将不胜感激。
谢谢!