目录
vsftpd 是一个在 UNIX 类操作系统上运行的 FTP 服务器名字,全称是“very secure FTPdaemon”, vsftpd 是一个完全免费、开源的 FTP 服务器软件, vsftpd 在 linux 发行版中非常流行。
vsftpd 支持很多其他传统的FTP服务器不支持的良好特性。使用 vsftpd 可以在 Linux/Unix 系统上搭建一个安全、高性能、稳定性好的轻量级FTP服务器。
一、vsftpd 源码下载
vsftpd 官网下载地址:
https://security.appspot.com/vsftpd.html
注意!此网站为国外网站,因此大家可能打不开。
vsftpd 官网打开以后,如下图所示:
点击上图中的“Online source/docs”,跳转到 vsftpd 源码下载页面,如下图所示:
从上图可以看出目前最新的版本为3.0.5,点 击https://security.appspot.com/downloads/vsftpd-3.0.5.tar.gz 即可下载。
二、vsftpd源码编译
1、将 vsftpd-3.0.5.tar.gz 发送到 ubuntu 中,然后使用如下命令进行解压
tar -zxvf vsftpd-3.0.5.tar.gz //解压缩
2、解压缩完成以后会得到一个名为“vsftpd-3.0.5”的文件夹,输入如下命令进入到此文件夹
cd vsftpd-3.0.5 //进入到 vsftpd 源码目录
3、打开 Makefile,我们需要配置一下,修改 Makefile 中的 CC 变量为我们所使用的交叉编译器
CC = arm-linux-gnueabihf-gcc //CC 为交叉编译器
4、编译
make -j8 /*如果电脑是多核CPU,如8核,使用make -j8可提高编译速度*/
等待编译完成,会得到两个文件: vsftpd 和 vsftpd.conf,我们需要这两个文件。
5、将 vsftpd 拷贝到开发板根文件系统下的/usr/sbin 目录下,将 vsftpd.conf 拷贝到开发板根文件系统的/etc 目录下,命令如下:
sudo cp vsftpd /home/zuozhongkai/linux/nfs/rootfs/usr/sbin/ //拷贝 vsftpd
sudo cp vsftpd.conf /home/zuozhongkai/linux/nfs/rootfs/etc/ //拷贝 vsftpd.conf
注:上述方式,是uboot下设置bootargs参数,通过NFS挂在根文件系统。
6、拷贝完成以后给予 vsftpd 可执行权限,并且修改 vsfptd.conf 所属用户为 root,命令如下:
chmod +x /usr/sbin/vsftpd
chown root:root /etc/vsftpd.conf
至此, vsftpd 就已经移植成功了,接下来就是进行配置。
三、 vsftpd配置
使用 vi 打开 vsftpd.conf 文件,并进行配置,如下配置可实现正常上传下载功能:
local_root=/home/ftp_share
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
xferlog_file=/var/log/vsftpd.log
ftpd_banner=Welcome to blah FTP service.
在开发板上使用命令创建文件夹
mkdir /usr/share/empty /* vsftpd默认配置需要 */
创建一个本地用户,并设置密码
$ adduser linux
Changing password for linux
New password:
Password for ftpadmin changed by linux
启动vsftpd服务器
$ vsftpd & /* 注意:&是让程序在后台运行 */
如果要让 vsftpd 开机启动,可以将该命令添加到 /etc/init.d/rcS文件
四、Filezilla 连接测试
打开 filezilla 进行连接测试了,新建站点,站点设置如下图所示:
设置好以后就可以连接了,连接成功以后如下图所示:
连接成功以后我们就可以通过拖拽的方式从 windows 向开发板,或者从开发板向 windows 下传输文件了。
关于更多嵌入式C语言、FreeRTOS、RT-Thread、Linux应用编程、linux驱动等相关知识,关注公众号【嵌入式Linux知识共享】,后续精彩内容及时收看了解。