如何添加其他步骤登录?


8

我想要实现的是一个交互式程序,该程序可以在向用户询问密码之前或之后运行,但是除非成功退出,否则不会处理对计算机的访问。为了使它更易于理解,下面是一个示例:

我想通过首先输入用户名,然后输入密码,然后正确回答一个简单的随机生成的数学问题来访问计算机。

为此,我使用以下系统身份验证文件:

auth      required  pam_unix.so try_first_pass nullok nodelay
auth      optional  pam_faildelay.so delay=600000
auth      optional  pam_exec.so stdout /home/math
auth      optional  pam_permit.so
auth      required  pam_env.so

问题在于,名为math的程序无法处理来自用户的输入,因为它会自动从PAM读取EOF,这实际上使它无用。我还尝试了以下可疑行的变体,在这种情况下,它会读取密码,这也不是我想要的:

auth      optional  pam_exec.so stdout expose_authtok /home/math

2
听起来您会想要编写自己的PAM模块,更多细节请参见PAM手册。linux-pam.org/Linux-PAM-html/Linux-PAM_MWG.html
Drav Sloan

Answers:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.