pam_script获取上一个模块的输出

时间:2011-03-12 22:20:44

标签: bash pam

如何使用pam_script获取以前的模块输出?

所以,如果我在pam_unix和pam_deny之间粘贴一个pam_script,如果身份验证失败,我可以执行一些操作吗?

修改:显然,如果您将[success=1]更改为[success=2] pam,则会跳过额外的一行。

这意味着我可以在pam_deny之前添加一个脚本,在成功之前添加一个脚本,然后在pam_deny之后添加一个脚本以进行正确的身份验证。

我仍然需要知道如何使用两种不同的脚本。如何传递用于pam_script.so的确切脚本?

原件:

auth    [success=1 default=ignore]  pam_unix.so nullok_secure
auth    requisite           pam_deny.so
auth    required            pam_permit.so
auth    optional            pam_ecryptfs.so unwrap
auth    optional            pam_cap.so 

修改:

auth    [success=2 default=ignore]  pam_unix.so nullok_secure
auth    [default=ignore]            pam_script.so # What goes here?
auth    requisite                   pam_deny.so
auth    [default=ignore]            pam_script.so # And what goes here?
auth    required                    pam_permit.so
auth    optional                    pam_ecryptfs.so unwrap
auth    optional                    pam_cap.so 

1 个答案:

答案 0 :(得分:0)

pam_script采取选项,所以......

auth    [success=2 default=ignore]  pam_unix.so nullok_secure
auth    [default=ignore]            pam_script.so incorrect
auth    requisite                   pam_deny.so
auth    [default=ignore]            pam_script.so correct
auth    required                    pam_permit.so
auth    optional                    pam_ecryptfs.so unwrap
auth    optional                    pam_cap.so 

/usr/share/libpam-script/pam_script_auth

#!/bin/bash
$1
# rest of script