Flo*_*iOn 8 linux login authentication pam
我想要实现的是一个交互式程序,它在询问用户密码之前或之后运行,但除非成功退出,否则不会处理对计算机的访问。为了让它更容易理解,这里有一个例子:
我想访问我的计算机,首先输入我的用户名,然后是我的密码,然后正确回答一个简单的随机生成的数学问题。
为此,我使用以下系统身份验证文件:
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
Run Code Online (Sandbox Code Playgroud)
问题是,名为 math 的程序无法处理来自用户的输入,因为它会自动从 PAM 读取 EOF,这实际上使其无用。我还尝试了可疑行的以下变体,在这种情况下,它会读入密码,这也不是我想要的:
auth optional pam_exec.so stdout expose_authtok /home/math
Run Code Online (Sandbox Code Playgroud)