0

如何使用 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 
4

1 回答 1

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
于 2011-03-20T15:07:30.507 回答