在 auth.log 文件中使用 Ubuntu(13.04 开发分支)上的 pam_python 对 vsftpd 用户进行身份验证时,我收到此错误,
vsftpd[1]: PAM audit_log_acct_message() failed: Operation not permitted
然后 vsftpd 在尝试连接时说密码错误。以下是 auth.log 文件的完整部分:
vsftpd[1]: pam_auth.py(9): pam_sm_authenticate()
vsftpd[1]: pam_auth.py(9): get_user_base_dir()
vsftpd[1]: pam_auth.py(9): auth_user()
vsftpd[1]: pam_auth.py(9): get_user_base_dir()
vsftpd[1]: pam_auth.py(9): verify_password()
vsftpd[1]: pam_auth.py(5): LOGIN: dev
vsftpd[1]: PAM audit_log_acct_message() failed: Operation not permitted
现在,这根本不正常,LOGIN: dev
当帐户dev
经过正确身份验证时输出,因此它应该对我进行身份验证(或者 python 脚本应该给出错误).. 这是来自另一台服务器的健康输出,具有完全相同的配置:
vsftpd[11037]: pam_auth.py(9): pam_sm_authenticate()
vsftpd[11037]: pam_auth.py(9): get_user_base_dir()
vsftpd[11037]: pam_auth.py(9): auth_user()
vsftpd[11037]: pam_auth.py(9): get_user_base_dir()
vsftpd[11037]: pam_auth.py(9): verify_password()
vsftpd[11037]: pam_auth.py(5): LOGIN: dev
vsftpd[11037]: pam_auth.py(9): pam_sm_acct_mgmt()
vsftpd[11037]: pam_auth.py(9): get_user_base_dir()
vsftpd[11037]: pam_auth.py(9): pam_sm_setcred()
vsftpd[11037]: pam_auth.py(9): get_user_base_dir()
vsftpd[11037]: pam_auth.py(5): /home/dev/downloads/
该服务器唯一不同的是,它运行的是不同的内核(它来自与平常不同的数据中心),内核通常是:
Linux sb16 3.2.13-grsec-xxxx-grs-ipv6-64 #1 SMP Thu Mar 29 09:48:59 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
而我无法让 pam 工作的服务器上的内核是:
Linux sb17 3.8.0-12-generic #21-Ubuntu SMP Thu Mar 7 19:08:49 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
肯定有问题,但我可以在任何地方看到的唯一错误是audit_log_acct_message() failed
消息。
当直接尝试 python 脚本时,它也会输出成功:
$ pam_auth.py dev test
success
这可能是什么原因造成的?我该如何修复它/绕过它?