VSFTPD 530 登录不正确

VSFTPD 530 登录不正确

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

有人能看出我遗漏了什么吗?谢谢。

答案1

六、/etc/pam.d/vsftp  

注释#auth required pam_shells.so

进而

服务 vsftpd 重启
pam_shells.so 意味着只应允许具有 shell 访问权限的用户,因此需要进行注释。

答案2

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

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

vsftpd 可能有点麻烦,并且报告错误的能力也不强。坚持使用它,我曾经为一个非常类似的问题而抓狂,它总是一个简单的解决方案。

答案3

就我而言,我通过以下方法解决了同样的问题:

六、/etc/pam.d/vsftpd

评论行#auth 包括系统身份验证

然后

服务 vsftpd 重启

答案4

您的系统上只有一个 ftp 服务器吗?我遇到过类似的问题,然后我仔细研究了一下这个问题,发现安装了两个相互冲突的 ftp 服务器。我卸载了一个,问题就解决了。

如果您执行了“yum install vsftpd”,那么您就不必处理 pam 文件(当您开始处理 PAM 时通常会出现问题)。

如果不是,请运行 chkconfig --list | grep ftp 并查看出现的内容(查看 vsftpd 是否出现在那里 - 如果没有,则安装可能有问题)。

我的最后一个建议是运行 yum update。

相关内容