VSFTPD 530login不正确

我正在尝试在CentOS 5.3 x64上设置一个vsftpd服务器。 我无法获得任何本地用户login的工作。 这是我的vsftpd.conf:

local_enable=YES write_enable=YES pam_service_name=vsftpd connect_from_port_20=YES listen=YES pam_service_name=vsftpd xferlog_std_format=NO log_ftp_protocol=YES chroot_local_user=YES 

这里是vsftp.log的输出:

 Mon Sep 13 23:34:44 2010 [pid 19243] CONNECT: Client "10.0.1.138" Mon Sep 13 23:34:44 2010 [pid 19243] FTP response: Client "10.0.1.138", "220 (vsFTPd 2.0.5)" Mon Sep 13 23:34:44 2010 [pid 19243] FTP command: Client "10.0.1.138", "USER dwelch" Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "331 Please specify the password." Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP command: Client "10.0.1.138", "PASS <password>" Mon Sep 13 23:34:44 2010 [pid 19242] [dwelch] FAIL LOGIN: Client "10.0.1.138" Mon Sep 13 23:34:45 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "530 Login incorrect." 

和安全日志的输出:

 Sep 13 17:40:50 intra vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=dwelch rhost=10.0.1.138 user=dwelch 

它看起来像帕姆不authentication的用户。 这是我的/etc/pam.d/vsftp文件:

 #%PAM-1.0 session optional pam_keyinit.so force revoke auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed auth required pam_shells.so auth include system-auth account include system-auth session include system-auth session required pam_loginuid.so 

任何人都可以看到我失踪? 谢谢。

  vi /etc/pam.d/vsftp 

注释#auth需要pam_shells.so

接着

服务vsftpd重启

pam_shells.so意味着只有拥有shell权限的用户才能被允许,所以这就是为什么需要注释的原因。

在我的情况下,我解决了与以下相同的问题:

vi /etc/pam.d/vsftpd

注释行#auth包含system-auth

然后

服务vsftpd重启

这不是一个正确的答案,而是我发现为我服务的一个策略:

开始在/etc/pam.d/vsftp文件中注释行,并查看是否允许您login。 PAM故意devise只报告成功或失败,而不是理由。

你的系统上只有一个ftp服务器吗? 我有类似的问题,然后低下来,看我更深入的问题,并有两个ftp服务器安装有冲突。 我卸载了一个,问题就解决了。

如果你做了'yum install vsftpd',你就不必乱用pam文件(当你开始搞乱PAM的时候,有些东西通常是错误的)。

如果那不是那运行chkconfig –list | grep的ftp,看看会发生什么(看看vsftpd是否显示在那里 – 如果没有安装,可能是错误的)。

我最后的build议是运行yum更新。

用户是否有有效的shell? 我认为它必须位于/ etc / shells列表中。 用户绝对不是 / etc / vsftpd / ftpusers文件吗?

确保你确实编辑了/etc/vsftpd/vsftpd.conf,在CentOS上我正在编辑/etc/vsftpd.conf。

vsftpd可能有点烦琐,并且在报告错误方面不太好。 坚持下去我把我的头发撕成了一个非常相似的问题,它总是一个简单的解决scheme。