我正在尝试在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。