问题描述
我不能让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
就我而言,我从文件中注释掉了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
用户有些不对劲。