首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用PAM以明文形式检索用户密码?

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

Stack Overflow用户
提问于 2011-10-11 20:05:54
回答 3查看 6.3K关注 0票数 6

我正在编写一个PAM模块,它将用户名/密码写在一个文件中,供其他应用程序进一步处理。我只看到了PAM_AUTHTOK项,但我不确定它来自哪种类型。有没有人知道这一点,或者其他获得明文密码的方法?

EN

回答 3

Stack Overflow用户

发布于 2016-10-01 09:48:42

这是一个非常老的线程,但也有pam_exec:https://linux.die.net/man/8/pam_exec

例如,PAM配置中类似以下内容:

代码语言:javascript
运行
复制
auth sufficient pam_exec.so expose_authtok /usr/local/bin/myscript-example

myscript的内容-示例,回显所有变量:

代码语言:javascript
运行
复制
#!/bin/sh
read password
echo "User: $PAM_USER"
echo "Ruser: $PAM_RUSER"
echo "Rhost: $PAM_RHOST"
echo "Service: $PAM_SERVICE"
echo "TTY: $PAM_TTY"
echo "Password : $password"
exit $?
票数 9
EN

Stack Overflow用户

发布于 2011-10-11 21:39:28

您读过Linux-PAM应用程序开发人员指南吗?在RHEL类型的系统上,它将在/usr/share/doc/pam-devel-<version>/Linux-PAM_ADG.txt中,或者您可以在online at various places上在线找到它。

请看“获取PAM项”部分,该部分记录了pam_get_item()函数。您可以使用PAM_AUTH_TOK常量请求密码:

PAM_AUTHTOK

身份验证令牌(通常是密码)。除了pam_sm_authenticate(3)和pam_sm_chauthtok (3)之外,所有模块函数都应该忽略此内标识。在前一个函数中,它用于将最新的身份验证令牌从一个堆叠模块传递到另一个模块。在后一个函数中,令牌用于另一个目的。它包含当前活动的身份验证令牌。

票数 3
EN

Stack Overflow用户

发布于 2011-12-31 01:00:14

在调试时只打印PAM_AUTHTOK的内容如何?要对其进行有意义的使用,您必须在模块之间有某种约定或约定。

顺便说一句:在内存中保留明文密码并尽快将其从内存中删除(或者更好:在RAM中锁定该区域,或者加密交换)与将明文密码写入磁盘之间是有区别的。后者太不安全了,不要那样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7725770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档