【发布时间】:2014-03-05 13:56:51
【问题描述】:
我现在正在尝试 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。
我们将不胜感激任何帮助或提示。
谢谢!
【问题讨论】:
-
我最终根据自己的需要更改了 pwauth (code.google.com/p/pwauth) 的源代码。但我仍然很好奇为什么我的尝试不起作用。我想我会尝试将 pwauth 源代码与我的 C 解决方案进行比较...
标签: python c++ apache perl mod-auth