我已经使用 Oracle VirtualBox 设置了 ubuntu 64 位 VM (16.04)。使用 ftp,我可以连接到虚拟机。我还可以列出 (ls) 文件夹的内容。但是我无法将文件放入虚拟机。
C:\>ftp x.x.x.x
Connected to x.x.x.x.
220 (vsFTPd 3.0.3)
200 Always in UTF8 mode.
User (x.x.x.x:(none)): user
331 Please specify the password.
Password:
230 Login successful.
ftp> quote pasv
227 Entering Passive Mode (...)
ftp> put trnsfr.txt
200 PORT command successful. Consider using PASV.
550 Permission denied.
在 ubuntu 上,我将文件夹的权限设置为所有者、组、全部的 rwx。然后我修改/etc/vsftpd.conf如下:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30100
port_enable=yes
pasv_address=x.x.x.x
允许数据连接并重新启动 vsftpd 守护进程:
iptables -I INPUT -p tcp --destination-address 30000:30100 -j ACCEPT
/etc/init.d/vsftpd restart
但仍然存在权限错误。
然后我尝试使用 filezilla:连接成功,但文件再次无法传输:使用 vsftpd 中的 dft 设置:
Response: 550 Permission denied.
Error: Critical file transfer error
vsftpd.conf 中的设置如上:filezilla 中显示以下内容:
Error: The data connection could not be established: WSAEADDRNOTAVAIL - Cannot assign requested address
我相信问题与数据连接有关 - 但不确定如何解决?
答案1
你有write_enable=yes
在吗vsftpd.conf
?默认为no
.
改变它并重试。我认为另一个错误只是由此造成的。