VSFTPD 530登录不正确


12

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

谁能看到我所缺少的东西?谢谢。


我遇到了同样的问题,我再次删除并安装了vsftpd并正常工作。是的,这不是一个好的解决方案,但它确实有效。
usef_ksa 2011年

有趣的是,您本周发布的内容完全相同。出于无奈,我认为我们也确实重新安装了vsftpd,并且它能正常工作。RPM坏了吗?
凯尔·史密斯

Answers:


17
 vi /etc/pam.d/vsftp  

评论#auth必需pam_shells.so

接着

服务vsftpd重新启动
pam_shells.so意味着只应允许具有shell访问权限的用户,这就是为什么需要对此进行注释的原因。


有人建议使用pam_nologin模块。可能是另一种选择。
罗布(Robsch)

2

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

vi /etc/pam.d/vsftpd

注释行#auth包括系统身份验证

然后

服务vsftpd重新启动


1
答案可能是正确的,但是如果您包括一些解释为什么要注释掉此行,则答案会更有用。
珍妮D

0

这不是一个正确的答案,而是我发现对我有用的一项策略:

开始注释掉/etc/pam.d/vsftp文件中的行,并查看是否(和何时)允许您登录。PAM旨在仅报告成功或失败,而不报告原因。


0

您的系统上只有一台ftp服务器吗?我遇到了类似的问题,然后又低下了,我进一步研究了该问题,并安装了两个相互冲突的ftp服务器。我卸载了一个,问题已解决。

如果您执行了“ yum install vsftpd”,则不必弄乱pam文件(当您开始弄乱PAM时通常会出错)。

如果不是那样,请运行chkconfig --list | grep ftp,看看会发生什么(看看vsftpd是否在那里显示-否则安装可能有问题)。

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


vsftpd是FTP服务器,而不是SFTP服务器。它们是不同的协议。
hellomynameisjoel

0

用户是否具有有效的外壳?我认为它必须在/ etc / shells列表中。用户肯定不是 / etc / vsftpd / ftpusers文件吗?

确保您确实编辑了/etc/vsftpd/vsftpd.conf,这对我编辑/etc/vsftpd.conf的CentOS造成了影响。

vsftpd可能有点儿怪异,而且在报告错误方面也不是很好。坚持下去,我正在解决一个非常类似的问题,这总是一个简单的解决方案。


-3

为您的用户使用vi / etc / passwd / bin / bash

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.