问题标签 [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 回答
1244 浏览

linux - 变量如何通过 PAM 身份验证系统传递

如果应用程序 A 调用 PAM 服务“myapp”,并且 PAM 服务“myapp”被配置为使用 pam 模块pam_exec.so ( auth required pam_exec.so myscript) 调用外部 shell 脚本:

问:变量(特别是用户名/密码)如何从以下位置传递:

应用程序 A --> PAM 服务 "myapp" --> pam_exec.so --> myscript

0 投票
1 回答
354 浏览

c++ - 如何在 pam_ldap 中获取当前 PAM 用户?

如何在 C/c++ 中通过 pam_ldap 获取 auth 的用户名?我找到了“pam_get_user”API,但是我怎样才能得到这个函数的 pam_handle_t 呢?

谢谢 Dma

0 投票
2 回答
678 浏览

authentication - Web2py 中的命令行身份验证

我使用 web2py 为我的项目创建了一个 Web 界面,并使用 pam 配置了登录。现在我必须为此制作一个 CLI。我找不到任何可以验证用户的方法(我们可以假设我要验证的用户已经登录到配置有 pam 并运行 web2py 的 linux 机器上)。

0 投票
1 回答
552 浏览

active-directory - Pam_ldap 不应该缓存密码

我已经在服务器上使用 pam_ldap 设置了 LDAP 身份验证,开始时它似乎工作得很好,但现在我遇到了问题。每当用户在 Active Directory 中更改他的密码时,它都会与 LDAP 同步,因此每个使用 LDAP 身份验证的系统,除了仍然接受旧密码的服务器。

我已经尝试过“getent passwd”,它确实列出了 LDAP 中的每个用户,我还尝试在 LDAP 中添加一个新用户,当我再次尝试“getent passwd”时,我的服务器立即识别出了这个用户。

因此,显然我的服务器正在与 LDAP 通信,只是在涉及新密码时,服务器选择缓存在某处。

谷歌一点帮助也没有,有些人似乎也遇到过类似的问题,但他们的问题总是无人回答。

希望有人可以提供帮助。

0 投票
1 回答
952 浏览

ssh - ssh 的 PAM 模块:如何知道用户是否使用密钥或密码进行身份验证

我正在为 ssh 服务编写一个 PAM 模块。我想知道如何在 PAM 模块中确定用户是否使用密码或密钥进行身份验证。

感谢您的帮助,期待您的回答!!!

0 投票
3 回答
6512 浏览

c - 如何使用 PAM 以明文形式检索用户密码?

我正在编写一个 PAM 模块,它将用户名/密码写入文件中,以供其他应用程序进行进一步事务。我只看到了 PAM_AUTHTOK 项目,但我不确定它来自哪个类型。有人知道这个或其他方式来获取明文密码吗?

0 投票
2 回答
388 浏览

linux - 在 Linux 中使用 PAM 进行身份验证。为什么它可能无法从某些用户运行?

我编写了一个简单的应用程序来使用 PAM 以常用方式验证用户身份:pam_start(), pam_authenticate()+ 我自己的对话功能 + pam_end().

如果应用程序在正在检查凭据的用户下运行,则身份验证成功。否则,如果从 user 运行应用程序A以检查 user 的凭据B,则身份验证失败。(

我的问题:为什么?作为传递给pam_start()我的服务名称,我也尝试loginpasswd. 什么也没有变。去哪个方向调试问题?或者可能我应该使用另一个 pam 服务来执行任务?

ps user 'A' 在第二种情况下是没有密码和 /bin/false shell 的用户。

0 投票
2 回答
1182 浏览

php - 将密码安全地存储在 MySQL 中,但仍可通过 PAM 访问

我们有一个 PHP 应用程序,它只使用 MD5 函数(没有盐)存储密码。
我们将 OpenSSH 设置为使用pam-mysql对来自同一数据库的用户进行身份验证。

我们想改用散列密码,我们正在考虑: 1. 自己做,(类似md5($salt."$".$password)or hash("sha256", $salt."$".$password)),或 2. 使用 php 的 crypt 函数(如果可用,它使用 OS crypt(3))。
问题是我还没有发现 pam-mysql 是否支持 crypt(3) 或任何替代的 pam 模块。

crpyt(3)使用用户提供的算法和 salt:crypt('password', '$5$saltstring$')为其sha256返回$5$saltstring$OH4IDuTlsuTYPdED1gsuiRMyTAwNlRWyA6Xr3I4/dQ5. 使用该crypt(3)库的任何语言都将看到该字符串并知道sha256与给定哈希一起使用并期望给定结果。

第一种方法是否足够,或者是否有一些支持 MySQL 和 crypt(3) 的 PAM 模块?

0 投票
1 回答
97 浏览

linux - 知道尝试登录的用户的用户名

我有一个 debian 系统,当用户尝试登录时,pam 模块以 root 身份执行 bash 脚本。我需要这个脚本来知道谁在尝试登录。

但是用户尚未连接,所以基本命令 users/w/who ... 在这里不起作用。

那么是否有可能检索尝试登录的用户的用户名?

谢谢你。西比尔

0 投票
2 回答
428 浏览

java - 将本机 (C) 指针保存到对象实例中——然后清理它

对于我的一个项目,我想为 Java(应用程序端和模块端)实现一个完整的 PAM 实现。

现在,我在应用程序方面。我以 jpam 为基础,但偶然发现了一个问题,经过几个小时的搜索,我仍然找不到解决问题的方法:/

这是当前代码:

我在这里想要的是pamh为所有PamHandle. 这是怎么做到的?

编辑:好的,我有这个答案,现在是清理部分:我是否使用finalize()调用本机清理方法super.finalize();,或者是否有一个由我可以/必须实现的 GC 触发的 JNI 函数?