提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:这里可以添加本文要记录的大概内容:
将Linux开发板作为一个小型的 FTP 服务器,这样就可以通过 FileZilla 软件直接在开发板和 windows 之间通过网络进行文件互传。在开发板上搭建 FTP 服务器很简单,就是 vsftpd 的移植。
提示:以下是本篇文章正文内容,下面案例可供参考
在ubuntu中安装FTP服务器可以直接通过apt-get进行安装,但是需要将ftp服务器安装在linux开发板中,就需要自己移植vsftpd,首先需要在vsftpd官网上下载vsftpd源码,(由于vsftpd是外网,可能访问不了),可以直接下载事先准备的vsftp源码文件
链接:https://pan.baidu.com/s/1pRqtUMPL3dxK4weXxwCFuQ
提取码:hxco
将将源码文件vsftpd-3.0.3.tar.gz移植到ubuntu中,并进行解压
tar -xvzf vsftpd-3.0.3.tar.gz
进入解压后的文件,并修改Makefile文件
CC = arm-linux-gnueabihf-gcc //修改为当前交叉编译器
修改完成后,进行make编译
最终得到两个文件:vsftpd和vsftpd.conf,将vsftpd文件移植到开发板/usr/sbin目录下,将vsftpd.conf移植到开发板/etc目录下
移植后给予vsftpd可执行权限,并且修改为vsftpd.conf所属用户为root
chmod +x /usr/sbin/vsftpd
chown root:root /etc/vsftpd.conf
跟ubuntu配置vsftpd一样,在linux开发板中打开vsftpd.conf文件,将下面两行进行使能
local_enable=YES //取消前面的“#”
write_enable=YES //取消前面的“#”
如果第一次添加用户的话要先将 ubuntu 下的/etc/passwd 和/etc/group 这两个文件复制到开发板根文件系统的对应目录,
然后需要开发板根文件系统中的/etc/passwd和/etc/group这两个文件,如下:
而vstfpd默认需要两个用户:“ftp” 和 “nobody”。在创建这两个用户之前先检查一下下面几个文件和目录是否存在,如果不存在的话需要先创建下面这些文件和目录:
/home //目录,不存在的话自行创建
/usr/share/empty //目录,不存在的话自行创建
/var/log //目录,不存在的话自行创建
/var/log/vsftpd.log //文件,不存在的话自行创建
创建命令如下:
mkdir /home
mkdir /usr/share/empty -p
mkdir /var/log -p
touch /var/log/vsftpd.log
创建用户命令:
adduser ftp //创建 ftp 用户
adduser nobody //创建 nobody 用户
最后我们还需要创建一个登录用户,Filezilla 连接 FTP 服务器的时候一般需要输入用户名和密码,当然了,Filezilla 也支持匿名登录。如果要使用用户名加密码登录的话就要创建一个用户,用户名自己定义,这里我创建一个名为“hx”的用户,命令如下:
adduser hx //创建登录要用户
输入如下命令,启动vsftpd服务器:
vsftpd & //可添加到/etc/init.d/rcS文件,设置开机自启动