Linux开发板 FTP 服务器移植与搭建

VSFTPD(Very Secure FTP Daemon)是一个安全、稳定且快速的FTP服务器软件,广泛用于Unix和Linux操作系统。它以其轻量级、高效和易于配置而受到赞誉。VSFTPD不仅支持标准的FTP命令和操作,还提供了额外的安全特性,如匿名FTP访问、上传/下载速度限制、用户隔离以及通过SSL/TLS加密传输。此外,VSFTPD对资源的消耗较少,适合在需要高性能和安全性的服务器上部署。由于其安全性和灵活性,VSFTPD是许多系统管理员和网络管理员的首选FTP服务器解决方案之一。

一、vsftpd 下载

vsftpd 下载地址(可能需要梯子):

复制代码
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  

3、打开 Makefile,需要配置一下,修改 Makefile 中的 CC 变量为所使用的交叉编译器

复制代码
CC = arm-linux-gnueabihf-gcc    //CC 为交叉编译器

4、编译

复制代码
make 

等待编译完成,会得到两个文件:vsftpd 和 vsftpd.conf,我们需要这两个文件。

5、将 vsftpd 拷贝到开发板根文件系统下的/usr/sbin 目录下,将 vsftpd.conf 拷贝到开发板根文件系统的/etc 目录下,可以通过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 xk
Changing password for xk
New password: 
Password for ftpadmin changed by xk

启动vsftpd服务器

复制代码
vsftpd &  

如果要让 vsftpd 开机启动,可以将该命令添加到 /etc/init.d/rcS文件

四、Filezilla 连接测试

打开 filezilla 进行连接测试了,新建站点,站点设置如下图所示:

设置好以后就可以连接了,连接成功以后如下图所示:

连接成功以后我们就可以通过拖拽的方式从 windows 向开发板,或者从开发板向 windows 下传输文件了,不再像nfs挂载那样麻烦了。

相关推荐
小蒜学长3 分钟前
基于Java的公司采购系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·公司采购系统
lee_tianbai5 分钟前
Java SSM 电影票预定系统|完整前后端项目,开箱即用(源码分享)
java·开发语言·数据库
Fcy6487 分钟前
Linux下 数据链路层详解(从以太网到ARP协议)
linux·mac·以太网·数据链路层·arp
SM_YHJ10 分钟前
RFID通道门禁与资产台账联动的自动登记技术实现方案
大数据·数据库·人工智能
PaperData13 分钟前
2014-2024年省级居民消费结构升级
数据库
砚底藏山河21 分钟前
python量化入门:多周期数据对齐统一时间轴
java·数据库·python·金融·maven
集智飞行28 分钟前
解决mavros2 ros2版本cpu占用高的问题
java·服务器·前端
Java后端的Ai之路31 分钟前
昇腾NPU显存管理避坑指南:从npu-smi输出精准识别空闲卡的底层逻辑与实战
服务器·网络·数据库·npu·大模型服务
禾小西1 小时前
05丨Redis 内存快照:宕机后,如何实现快速恢复?
数据库·redis·缓存
笃行3501 小时前
数据同步软件:KFS 在 KingbaseES 项目里到底解决了什么
数据库