问题标签 [pam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1885 浏览

authentication - 如何使用 PAM 对用户进行身份验证?

我已经阅读了这个页面,但我有点困惑......

  • pam_start
    • 是什么struct pam_conv以及应该如何填写?
    • 到底是service_name什么,它是什么意思?

是否有使用 PAM 登录用户(或至少验证他们提供的凭据)的示例?

0 投票
1 回答
158 浏览

c - PAM - 找到控制标志(必需,足够)

我正在修补一个 OTP 模块(yubico_pam),并且我正在尝试访问管理员选择的控制标志(例如required、sufficient等)。

任何的想法?这是否可行(不解析文件)?

0 投票
1 回答
1728 浏览

bash - pam_script 获取前一个模块的输出

如何使用 pam_script 获得以前的模块输出?

因此,如果我要在 pam_unix 和 pam_deny 之间添加一个 pam_script,如果身份验证失败,我可以执行一些操作吗?

编辑:显然,如果您更改[success=1][success=2]pam 将跳过额外的一行。

这意味着我可以在 pam_deny 之前放置一个脚本并在成功时增加一个脚本,然后在 pam_deny 之后放置一个脚本以进行正确的身份验证。

不过,我仍然需要知道如何使用两个不同的脚本。如何将要使用的确切脚本传递给 pam_script.so?

原来的:

修改的:

0 投票
5 回答
14702 浏览

python - 没有root权限的python中的pam身份验证

我正在寻找一种方法让我的 python 程序通过 pam 处理身份验证。我正在为此使用http://code.google.com/p/web2py/source/browse/gluon/contrib/pam.py,只要我的 python 程序以 root 身份运行,它的效果就很好,这并不理想我的意见。

如何在不需要 root 权限的情况下使用 pam 进行用户名/密码验证?

0 投票
3 回答
1971 浏览

c++ - 如何使用 C++、Pam 和 Ubuntu 添加自定义两因素身份验证?

我希望使用 c++ 将我自己的 2 因素身份验证添加到我的 ubuntu linux 服务器。我将让我的星号框使用唯一 ID 呼叫我的手机,该 ID 必须在 linux 登录提示符处输入,在密码之前或之后,有(或)没有证书 - 取决于我如何配置它。无论哪种方式,我都希望这个额外的输入步骤作为登录的一部分。

我应该为此使用 PAM 吗?如果是这样,有人可以向我指出带有 Pam 和登录的额外输入示例吗?

0 投票
1 回答
1735 浏览

authentication - 有没有办法将密码传递给 pam_start() 或 pam_authenticate() 并绕过“对话”?

pam_start() 接受一个结构参数(http://linux.die.net/man/3/pam_conv),您可以在其中设置获取密码的回调方法。由于在调用 pam_start 之前我已经有了密码,我想知道是否有办法传递该信息而不是设置回调。

0 投票
4 回答
8532 浏览

c++ - 旧应用程序的 PAM 身份验证

我有一个旧版应用程序,它通过网络异步接收用户名/密码请求。由于我已经将用户名和密码存储为变量,那么在 Linux(Debian 6)上使用 PAM 进行身份验证的最佳方法是什么?

我已经尝试编写自己的对话功能,但我不确定将密码输入其中的最佳方法。我已经考虑将它存储在 appdata 中并从 pam_conv 结构中引用它,但是几乎没有关于如何做到这一点的文档。

有没有一种更简单的方法来验证用户而不会过度使用对话功能?我也无法成功使用 pam_set_data,我不确定这是否合适。

这就是我正在做的事情:

对话功能的初始尝试导致(密码被硬编码以进行测试):

任何帮助,将不胜感激。谢谢!

0 投票
1 回答
14708 浏览

c - 简单的 PAM 示例

我想使用 PAM 开发一个身份验证模块,但我无法让一个简单的示例正常工作。

对于初学者,我想做一个简单的 SSH 登录系统,如果用户输入 username backdoor,那么用户将无需密码即可登录(就像在 TRON Legacy 中一样)。

我尝试将本指南用作模板,但无法正常工作。到目前为止,这是我的代码:

当我使用 name 登录时backdoor,我的权限被拒绝。我已尝试创建用户帐户,但仍会提示我输入密码。

当我使用有效用户登录时,我会看到“我在这里”打印输出。有没有更好的方法来调试这样的东西,还是主要是反复试验?

编辑:

/etc/pam.d/sshd在@include common-auth 之后添加了这个:

auth sufficient mypam.so

这是在其他 2 个 .so 文件之后出现的,但我很确定它每次都会被执行。

我没有修改 pam.conf (那里什么都没有)。我认为从 SSH 开始是最简单的,因为我不必每次都注销。

编辑:

我终于让它工作了。结果如下:

https://github.com/beatgammit/simple-pam

它是开源的,所以如果您有兴趣,请看一下!

0 投票
2 回答
2940 浏览

python - python脚本不从cron运行

我有一个可以从命令行很好地执行的 python 脚本“start.py”。其中只有一个语句(打印“hello”)。编辑: start.py 在第一行还包含一个工作解释器指令。

一旦我从 cron 作业运行脚本,每次触发时,系统日志中都会出现一条消息:

我已经尝试将 PATH 和 PYTHONPATH 信息添加到 cron 文件中:

我找到了几个看起来相同但没有任何帮助的答案和解决方案。我错过了什么?

0 投票
1 回答
5330 浏览

linux - 自定义 PAM 配置:如何将用户名/密码参数传递给 pam_exec.so 模块?

我正在使用 openvpn,一个 PAM 感知应用程序。它有以下有用的文档:

现在我想在 /etc/pam.d 中创建一个 openvpn 配置,从 openvpn PAM 插件获取用户名/密码并将其传递给脚本。进入:

使用以下命令设置 PAM openvpn 配置:

auth required pam_exec.so myscript

并配置openvpn调用:

plugin openvpn-auth-pam.so "openvpn login USERNAME password PASSWORD"

一切似乎都是直截了当的。让我明白的部分是我用来将 openvpn 中定义的登录名/密码输出到脚本的语法。pam_exec.so 的文档似乎忽略了这个关键问题。

例如:

auth required pam_exec.so myscript %login %password

以上只是我的伪代码,它可能看起来如何,这个语法应该是什么样子?