1

在 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

这可能是什么原因造成的?我该如何修复它/绕过它?

4

2 回答 2

0

我有同样的错误。

我从 kernel.org 编译了我的内核,我在过去 4 小时内尝试了很多内核。

现在我可以说内核 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

于 2013-03-15T14:45:36.013 回答
0

这有效:

  • 安装新内核。
  • 从源代码编译 vsftpd

(我从源代码安装了我所有的内核,所以也许你还需要内核源代码。)

现在应该可以工作了。

如果您收到“响应:500 OOPS:priv_sock_get_cmd”错误,请将“seccomp_sandbox=NO”放入您的 /etc/vsftpd.conf。

希望有帮助。

最好的问候本尼迪克特

(这是用 OpenSuSe 12.2 和 Kernel 3.8.2 测试的)

于 2013-03-19T10:38:24.263 回答