使用 pam_exec 进行 Linux 自定义身份验证

问题描述 投票:0回答:2

我无法找到有关如何使用

pam_exec
运行外部程序以在用户登录时对用户进行身份验证的示例。

我的

pam.d
文件中有以下内容:

auth required pam_exec.so debug log=/tmp/aa /path/to/myscript

我的脚本应该包含什么来允许或禁止身份验证?

linux pam
2个回答
3
投票

pam_exec 将简单地检查脚本的退出代码。如果它不等于零,您将被拒绝授权。


1
投票

针对上述评论: 就我而言,身份验证脚本没问题,但 PAM 在

account
阶段失败了:

authentication: pam_unix(postgresql:account): could not identify user (from getpwnam(myuser))

这会记录到系统日志中(如果您在 docker 中修改 PAM,请将

-v /dev/log:/dev/log
传递到
docker run
以查看主机系统日志中的 PAM 系统日志消息)。

解决方案是将以下内容添加到 pam.d 文件中:

account sufficient pam_permit.so
© www.soinside.com 2019 - 2024. All rights reserved.