加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

通过pam_script进行PAM身份验证的Nginx

发布时间:2020-12-13 21:41:02 所属栏目:Nginx 来源:网络整理
导读:有没有人设置这样的配置?这不适合我. 我在Ubuntu 12.04上安装了nginx-extras(它是用PAM模块构建的),并添加到站点配置中: location ^~ /restricted_place/ { auth_pam "Please specify login and password from main_site"; auth_pam_service_name "nginx";

有没有人设置这样的配置?这不适合我.

我在Ubuntu 12.04上安装了nginx-extras(它是用PAM模块构建的),并添加到站点配置中:

location ^~ /restricted_place/ {
    auth_pam              "Please specify login and password from main_site";
    auth_pam_service_name "nginx";
}

之后,在/etc/pam.d/nginx中:

auth    required    pam_script.so dir=/path/to/my/auth_scripts

并写了simplest / path / to / my / auth_scripts / pam_script_auth(我也尝试编写复杂的脚本)

#!/bin/sh
exit 0 # should allow anyone

不起作用.该脚本已启动(我编写了完整的功能脚本,成功执行,检查凭据,写入自己的日志并返回正确的退出代码,执行时间明显长).但是没有授予访问权限,只有被拒绝.

在/var/log/nginx/error.log中出现以下行:

2012/09/13 10:44:42 [alert] 1666#0: waitpid() failed (10: No child processes)

如果我在/etc/pam.d/nginx中指定:

auth    required    pam_unix.so

并授予www-data用户权限读取/ etc / shadow,unix授权正常.但脚本验证不起作用.

我无法理解,麻烦在哪里.它是在nginx模块中还是在pam_script模块中?

最佳答案
nginx PAM module还运行PAM帐户操作,因此您还需要配置它.您可以使用pam_permit模块始终成功:

auth    required    pam_script.so dir=/path/to/my/auth_scripts
account required    pam_permit.so

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读