有没有办法在PAM中打印输入的密码?

有没有办法在PAM中打印输入的密码?

我们使用的是 CentOS 6.5。我们有一个用于自动化测试的 perl 脚本。其中脚本之一以非 root 用户身份登录用户并测试“su -”命令。该测试用例大多数情况下都会通过,但在少数情况下会失败。

/var/log/secure 中的错误消息:

localhost su: pam_unix(su-l:auth): authentication failure; logname=test_user uid=500 euid=0 tty=pts/0 ruser=test_user rhost=  user=root

“test_user”是非root用户。

因此,出于调试目的,我们希望了解脚本是否发出正确的密码,或者由于任何缓冲区问题,脚本发送了一些额外的字符。

是否有配置可以让 PAM 模块记录用户输入的密码?

以下是/etc/pam.d/su的配置

#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth           required        pam_wheel.so use_uid
auth            include         system-auth
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         optional        pam_xauth.so

以下是/etc/pam.d/system-auth中的配置

#%PAM-1.0
auth    required        pam_env.so
auth    sufficient      pam_unix.so
auth    sufficient      pam_ldap.so try_first_pass
auth    required        pam_deny.so
account sufficient      pam_succeed_if.so uid < 100 quiet
account sufficient      pam_unix.so
account sufficient      pam_ldap.so
account required        pam_permit.so
password        requisite       pam_cracklib.so retry=3
password        sufficient      pam_unix.so use_authtok
password        sufficient      pam_ldap.so use_authtok
password        required        pam_deny.so
session required        pam_limits.so
session optional        pam_unix.so
session optional        pam_ldap.so
session required        pam_mkhomedir.so

有人可以给我一些指导来调试这个问题。我还尝试在文件中添加debugwarn选项,但如果身份验证失败,我仍然无法获得额外的登录信息。pam_unix.sosystem-auth/var/log/secure

相关内容