我有一个PAM应用程序,它使用特定的PAM模块进行身份验证。我的问题是,模块与应用程序共享任意字节字符串的最佳方法是什么?
我对PAM的理解是,一般来说,应用程序必须使用pam_get_item()调用才能从模块中获取数据。但是,可以共享的项类型非常有限,而且它们似乎不能满足我的需要--除了PAM_CONV项类型之外。如果任何人在这个论坛有经验,这类事情,他们的反馈将是非常感谢。
发布于 2022-08-08 18:52:53
经过一些实验,我想我找到了答案。本质上,应用程序必须定义PAM会话回调,其中提供了指向数据缓冲区的指针。PAM模块必须在适当的时间调用回调,并将适当的数据复制到该缓冲区中。应用程序将通过读取缓冲区的内容来获得所需的数据。
当然,应用程序必须仔细地编排这一过程,并且可能需要对模块进行修改,以便在正确的时间调用回调。不过这个想法很简单。
我学到了很多,因为张贴在这个论坛,即使我似乎没有收到任何反馈,当涉及到PAM相关的问题。
https://stackoverflow.com/questions/73270313
复制相似问题