与linux主机除了远程连接命令行的交互以外,还有文件的上传与下载,这里我在ubuntu上安装了vsftpd来搭建FTP服务。前段时间项目工期有点紧,所以没有时间整理笔记,现在好不容易有点时间,赶紧来写一些。其实我在实际执行中也参考了许多教程,也遇到了很多很多问题,在记笔记中尽量把自己遇到的问题陈述出来,免得后来学习的同学每遇到一个问题,就拿着错误代码去找答案,解决了一个错误码又抛出另一个,而且对于错误也没有清晰的理解,这里也希望大家多交流,可以节省很多时间,我本身也是一个初学者,也非常感谢大家提出的批评与讨论。
开始切入主题,这次就用服务vsftpd来搭配本地FlashFXP工具进行FTP的功能。
一、安装vsftpd
首先当然是万能的apt-get,如果长时间没用,一定要先update和upgrade一下:
sudo apt-get install vsftpd
安装完后执行:
sudo service vsftpd restart
正常就处于运行状态了,接下来要建立一个ftp目录,我选在/home下建立一个ftp文件夹
sudo mkdir /home/ftp
然后来新建一个用户,执行:
sudo useradd -d /home/ftp -s /bin/bash ftp
再来设置密码,执行:
sudo passwd ftp
之后键入两次密码完成密码设置。再来配置设置文件,执行:
sudo vim /etc/vsftp.conf
加入如下代码:
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users
seccomp_sandbox=NO
local_enable=YES
write_enable=YES
这段话意思是,指定一个userlist,存放允许登录FTP的本地用户,并设置为目录为可写(默认为不可写)。一开始没有加write_enable=YES,结果就遇到了能登上FTP却不能上传文件的错误(530)和(550),所以这句不能少。local_enable=YES是为了允许本地用户登录。
然后创建userlist文件,执行:
sudo vim /etc/allowed_users
加入刚刚新建用户里创建的“ftp”用户,并保存。再去不能访问的名单list确认有没有我们新建的用户,执行:
sudo vim /etc/ftpusers
看看有没有“ftp”,如果有,就删掉并保存,如果没有就直接退出。(这个文件中,一个用户占用一行,如果两个用户名在一行会被连起来当作一个用户名识别)
至此,vsftpd的安装和设置就结束了。
二、安装FLASHFXP并连接
在win上安装FLASHFXP或者在OSX上安装CrossFTP,并设置IP地址和端口,填写密码,并进行连接测试,Ubuntu的ip地址可以通过执行:
sudo ifconfig
建议在局域网里面给Ubuntu主机分配固定IP,免得每次都要看,都要改FTP客户端配置。在自己电脑上指定一个FTP专用的文件夹,上面步骤配置正确,应该可以直接连接上,并上传下载文件,在局域网里面,网速是相当快的,如果服务端和客户端相对于路由器都工作在100M全双工下,算上其他局域网中PC端的阻塞和使用区域到机房路由器的线损(非全速下载情况),自己这边7MB/S的速度基本是可以保证的,如果担心影响其他的用户,可以给路由器配置QoS。