![VSFTPD 530 登录不正确](https://linux22.com/image/524485/VSFTPD%20530%20%E7%99%BB%E5%BD%95%E4%B8%8D%E6%AD%A3%E7%A1%AE.png)
我正在尝试在 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。