做嵌入式调试需要在主机上建立一个ftp服务器,然后通过网线将主机上的程序下载到嵌入
式开发板上,主机的ftp服务器需要有用户名和密码。以上是所知道的信息,怎么利用现有
的资源快速解决这个简单的问题?上网搜索是必要的,但是漫无目的的搜索效率并不是很
大;还有一种方法是系统的把ftp服务器的知识学一下,这样有太慢。这里提供几个工具和
思路,或许会比较有用。
man -k ftp,man命令加-k选项可以列出所有ftp相关的帮助信息,我们可以从中选择
运行这个命令后可以看到ftp,tftp,vsftpd等相关项目。可以以上面的信息作为基础
再在网上搜索可以看到vsftpd是一个FTP服务器,man 8 vsftpd可以查看和他相关的信息
在google中搜vsftpd的信息,输入ubuntu vsftpd,第一条就得到下面的信息:
https://help.ubuntu.com/10.04/serverguide/ftp-server.html文件的头几行就得到这样的信息:
1
2
3Access to an FTP server can be managed in two ways:
Anonymous
Authenticated上面告诉我们FTP服务器分为两大类:匿名的(就是直接ftp <ip>就可以登陆的),需要
输入用户名、密码的。结合我们的需要,我们的搜索词变成了ftp,authenticated,但是
这篇文档已经介绍了需要怎么设置,我们就不需要去别的地方搜了。下面的”User Authenticated
FTP Configuration”说明要设置/etc/vsftpd.conf中的:1
2local_enable=YES
write_enable=YES然后在重启vsftpd:
1
sudo /etc/init.d/vsftpd restart
说到这里我们的pc(ubuntu系统)上还没有vsftpd啊,试试ubuntu的软件下载管理工具
sudo apt-get install vsftpd(可以自动补全),果然可以。vsftpd服务器有了,开始配置/etc/vsftpd.conf。我们打开对应的文件
sudo vi /etc/vsftpd.conf
仔细看,发现文档已经是充满注释了。找个和我们目的相关的:1
2# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO后面的注释说,这个是默认带开的,我们用的是authenticate,所以这里选NO
按这样的设置,然后重启服务器,用ftp 127.0.0.1登陆自己的服务器,发现要输入的
自己ubuntu系统的用户名和密码作为vsftpd的用户名和密码,但是到了哪个目录中了呢?
用get <自己home中的文件>,发现可以把自己home中的文件拉到当前目录下,看来默认
vsftpd的目录就是自己的/home/XXX既然/etc/vsftpd.conf文件注释很好,那就到该文件中看看怎么设置,设置:
local_root=/home/XXX/your_ftpboot
chmod 777 /home/XXX/your_ftpboot
重启服务器,发现vsftpd可以使用了,根目录就是上面设置的至于想更好的用好ftp服务器,就是研究、尝试/etc/vsftpd.conf的事了