Skip to content

Conversation

@Jackarain
Copy link
Owner

@Jackarain Jackarain commented Jan 8, 2026

使用 PAM 模块认证介绍

proxy_server 支持使用 PAM 模块进行认证(仅支持 pamlinux 平台,编译 proxy_server 时需要在 cmake 中添加 -DENABLE_USE_PAM_AUTH=ON 选项以启用 PAM 模块认证功能),具体使用方法如下:

  1. 配置 PAM 服务,如将 doc 目录下 pam.example 下的文件 proxy-service 复制到 /etc/pam.d/ 目录中,文件名即为 PAM 服务名称。
  2. proxy_server 中指定 PAM 服务名称,如 --pam_auth proxy-service
  3. 使用 linux 命令添加用户到 PAM 服务中,如 useradd jack,其中 jack 为用户名,使用 passwd jack 设置密码如 1111
  4. 测试认证是否生效,如 curl -x http://jack:1111@localhost:1080/ https://google.com,如果返回 200 OK 则说明认证生效。

PAM 模块认证可以使用 linux 命令添加或管理用户,可以极大的方便 proxy_server 的用户管理,而不必依赖复杂的数据库系统,当然如果你是开发人员,也可以开发一个支持数据库认证的 PAMso 模块(可参考 docpam.examplepam_sqlite.c 如何实现 PAM 认证模块),或者使用 PAM 模块认证来实现 LDAP 认证等等各种方式。

@Jackarain Jackarain force-pushed the pam branch 3 times, most recently from 34c4e28 to 382c459 Compare January 8, 2026 17:13
@Jackarain Jackarain force-pushed the pam branch 2 times, most recently from eb871da to d490a63 Compare January 8, 2026 17:59
@Jackarain Jackarain merged commit 88f8ea8 into master Jan 9, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants