我在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
可能导致这种情况的原因是什么?我该如何解决它?绕过它?
答案 0 :(得分:0)
我有同样的错误。
我从kernel.org编译了我的内核 我在最近4小时内尝试了很多内核。
现在我可以说Kernel 3.6.11是最后一个适合我的内核。 内核3.7.0,3.8.0和3.8.2不起作用。
使用内核3.6.2和3.6.11一切正常。
我使用的是OpenSuSe 12.2-1.5。 最新的包裹。 PAM版本为3.2.2
答案 1 :(得分:0)
这有效:
(我从源代码安装了所有内核,所以也许你还需要内核源代码。)
现在应该工作。
如果您收到“响应:500 OOPS:priv_sock_get_cmd”错误, 在你的/etc/vsftpd.conf中输入“seccomp_sandbox = NO”。
希望有所帮助。
最好的问候 本尼迪克特(这是使用OpenSuSe 12.2和内核3.8.2测试的)