当前位置: 首页>>技术问答>>正文


vsftpd:530登录不正确

, ,

问题描述

我不能让vsfptd在Ubuntu 12.04上运行。

我的vsftpd.conf文件看起来像这样,我尝试与本地用户连接:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

FileZilla中的错误消息:

Response:   331 Please specify the password.
Command:    PASS ****
Response:   530 Login incorrect.

最佳解决方法

在进行更改之前备份配置文件;

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.back

然后编辑vsftpd.conf(使用vi或nano)

nano /etc/vsftpd.conf

然后进行以下更改

pam_service_name=ftp

保存更改并重新启动ftp服务器(如果使用nano命中CTRL + O&输入以保存,然后退出CTRL + X)

sudo service vsftpd restart

资料来源:VSFTPD configuration problems with 12.04

次佳解决方法

默认情况下,vsFTPd使用文件/etc/pam.d/vsftpd。默认情况下,此文件要求FTP用户在/etc/shells中列出一个shell,并要求它们不在/etc/ftpusers中列出。如果你检查这两件事,你可能会发现问题所在。

第三种解决方法

当我尝试使用root登录时遇到了这个问题,我就解决了。我的vsftpd:版本3.0.2

解:

检查以下文件(它包含不允许FTP访问的用户列表):

/etc/ftpusers 

Example

就我而言,我从文件中注释掉了root,然后就可以了。

第四种方法

请在/etc/vsftpd.conf中进行一些更改

pam_service_name = FTP

如果你想为本地用户设置默认/var /www目录的访问权限你可以用下面的行…..

local_root = /无功/网络

现在保存并退出……

使用sudo service vsftpd restart重新启动vsftpd服务器

第五种方法

我不需要更改vsftpd.conf。只需要确保在我的/etc /passwd文件中设置了一个shell,它也被引入/etc /shells中。

所以基本上在没有shell的useradd之后我需要确保创建主目录并且用户有/bin /bash作为它的shell。

第六种方法

建议的决议对我不起作用。我放弃了ftp用户,并将注意力转移到了ubuntu用户身上。我确保有一个与ubuntu用户相关的密码。

我确保启用被动模式,并在vsftpd.conf文件中设置local_enable=YES

我能够使用ubuntu帐户进行身份验证。我成功将一个大文件上传到我的Amazon Ubuntu FTP服务器。很显然,ftp用户有些不对劲。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1752.html,未经允许,请勿转载。