sudo apt-get install vsftpd之后的ubuntu上的vsftpd
然后按照附带的/etc/vsftpd.conf文件进行配置.
匿名ftp允许cd直接上传并允许
把myfile.txt放在服务器上创建但是然后
客户端挂起,永远不会继续.服务器上的文件
保持在0字节.
这是文件夹和权限:
root@support:/home/ftp# ls -ld .
drwxr-xr-x 3 root root 4096 Jun 22 00:00 .
root@support:/home/ftp# ls -ld pub
drwxr-xr-x 3 root root 4096 Jun 21 23:59 pub
root@support:/home/ftp# ls -ld pub/upload
drwxr-xr-x 2 ftp ftp 4096 Jun 22 00:06 pub/upload
root@support:/home/ftp#
这是vsftpd.conf文件:
root@support:/home/ftp# grep -v '#' /etc/vsftpd.conf
listen=YES
anonymous_enable=YES
write_enable=YES
anon_upload_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
anon_root=/home/ftp/pub/
connect_from_port_20=YES
chown_uploads=YES
chown_username=ftp
nopriv_user=ftp
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
这是一个尝试上传的文件示例:
root@support:/home/ftp/pub/upload# ls -l
total 0
-rw------- 1 ftp nogroup 0 Jun 22 00:06 build.out
这是尝试上传的客户端……此时它被冻结:
$ftp 173.203.89.78
Connected to 173.203.89.78.
220 (vsFTPd 2.0.6)
User (173.203.89.78:(none)): ftp
331 Please specify the password.
Password:
230 Login successful.
ftp> put build.out
200 PORT command successful. Consider using PASV.
553 Could not create file.
ftp> cd upload
250 Directory successfully changed.
ftp> put build.out
200 PORT command successful. Consider using PASV.
150 Ok to send data.
编辑:事实证明,ftp客户端可以在其他运行Linux的系统上运行.以上错误消息仅在使用命令行ftp的Windows 7主机上使用ftp时发生.
事实上,在同一台Windows 7机器上,如果将地址放入Windows资源管理器,它就可以工作.它可以复制和粘贴文件,它们会在服务器上正确上传.
所以这个问题只发生在Windows 7命令行ftp上.注意:我仔细检查了此计算机上的防火墙是否已完全禁用.