Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 如何导出pam_set_data()创建的字符串_Unix_Environment Variables_Pam - Fatal编程技术网

Unix 如何导出pam_set_data()创建的字符串

Unix 如何导出pam_set_data()创建的字符串,unix,environment-variables,pam,Unix,Environment Variables,Pam,(我的C有点生锈) 我想将一些数据从身份验证过程之外传递到结果shell(或者可能是其他服务)中。我突然想到,我可以将数据嵌入提交的用户名中,然后在pam堆栈的顶部将用户名和数据分开,更新用户名(使用pam_set_item())并保留数据(例如使用pam_set_data()),但接下来如何将数据呈现给正在验证的服务 如果我只设置env(*varname,*data,1),这是否足以使它出现在子进程环境中 如果我使用pam_set_data(),这是否会创建一个可以在pam_env中使用的标识

(我的C有点生锈)

我想将一些数据从身份验证过程之外传递到结果shell(或者可能是其他服务)中。我突然想到,我可以将数据嵌入提交的用户名中,然后在pam堆栈的顶部将用户名和数据分开,更新用户名(使用pam_set_item())并保留数据(例如使用pam_set_data()),但接下来如何将数据呈现给正在验证的服务

如果我只设置env(*varname,*data,1),这是否足以使它出现在子进程环境中


如果我使用pam_set_data(),这是否会创建一个可以在pam_env中使用的标识符?

是的,您可以使用pam_set_data(),但要在程序中获取它,必须使用pam_get_data()。如果希望数据在环境中可用,请查看pam_env.so模块。

我肯定只能在中调用pam_set_data()的过程中使用pam_get_data()进行读取?在pam_envYes的文档中,我只看到提到了一组固定的预定义变量名称。要使用pam_get_data(),您必须处于相同的过程中。pam_env允许您将所需的任何环境变量放入文件中,并为流程加载。