首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法用PAM_AUTHTOK设置pam_set_item

无法用PAM_AUTHTOK设置pam_set_item
EN

Stack Overflow用户
提问于 2015-09-14 18:11:55
回答 1查看 954关注 0票数 4

我试图制作一个简单的显示管理器,因此我需要对用户进行身份验证,因此我开始学习如何使用PAM。我想在没有控制台提示的情况下设置密码,所以我尝试在AUTHTOK中使用AUTHTOK,但是它会引发一个坏的项错误.下面是一个很小的例子:

代码语言:javascript
复制
#include <security/pam_appl.h>
#include <stdio.h>

int main()
{
  struct pam_conv conversation;
  pam_handle_t* pam_handle;
  int status = pam_start("test_pam", "myusername", &conversation, &pam_handle);

  char* password = "mypassword";
  status = pam_set_item(pam_handle, PAM_AUTHTOK, password);
  printf("Error: %s\n", pam_strerror(pam_handle, status));

  status = pam_end(pam_handle, status);
}

您知道如何将密码发送到PAM而不必从控制台提示符中输入密码吗?

EN

回答 1

Stack Overflow用户

发布于 2016-07-18 15:59:18

上面写着:item

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

这样就不能设置PAM_AUTHTOK,除非您正在实现pam_sm_authenticate或pam_sm_chauthtok函数。

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

https://stackoverflow.com/questions/32571233

复制
相关文章

相似问题

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