我试图在CentOS 5.3 x64上设置一个vsftpd服务器。我无法让任何本地用户登录的工作。这是我的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看起来pam没有对用户进行身份验证。以下是我的/etc/pan.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有人能看到我错过了什么吗?谢谢。
发布于 2010-11-04 06:20:02
用户有有效的shell吗?我认为它必须在/etc/shell列表中。用户肯定不是文件/etc/vsftpd/ftpuser吗?
确保您确实编辑了/etc/vsftpd/vsftpd.conf,这在CentOS i上是在编辑/etc/vsftpd.conf。
vsftpd可能有点烦琐,不擅长报告错误。坚持下去,我正在用一个非常相似的问题把我的头发扯出来,这总是一个简单的解决办法。
发布于 2014-09-22 05:43:31
在我的例子中,我也解决了同样的问题:
注释行#auth包括system-auth
然后
发布于 2010-09-21 12:31:20
这不是一个恰当的答案,但我发现这是一个很好的策略:
开始在您的/etc/pam.d/vsftp文件中注释行,并查看它是否(以及何时)允许您登录。PAM的目的是只报告成功或失败,而不是原因。
https://serverfault.com/questions/180778
复制相似问题