gpt4 book ai didi

unix - 无法使用 pam_set_item 设置 PAM_AUTHTOK

转载 作者:行者123 更新时间:2023-12-04 14:16:20 25 4
gpt4 key购买 nike

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

#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 而无需从控制台提示输入密码吗?

最佳答案

它说:
http://linux.die.net/man/3/pam_set_item

PAM_AUTHTOK The authentication token (often a password). This token should be ignored by all module functions besides pam_sm_authenticate(3) and pam_sm_chauthtok(3). In the former function it is used to pass the most recent authentication token from one stacked module to another. In the latter function the token is used for another purpose. It contains the currently active authentication token.



因此,除非您正在实现 pam_sm_authenticate 或 pam_sm_chauthtok 函数,否则您无法设置 PAM_AUTHTOK。

关于unix - 无法使用 pam_set_item 设置 PAM_AUTHTOK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32571233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com