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挂载那样麻烦了。

相关推荐
喵叔哟几秒前
06-ASPNETCore-WebAPI开发
服务器·后端·c#
Zach_yuan2 分钟前
自定义协议:实现网络计算器
linux·服务器·开发语言·网络
岁杪杪5 分钟前
关于运维:LINUX 零基础
运维·服务器·php
Re.不晚14 分钟前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
wdfk_prog18 分钟前
[Linux]学习笔记系列 -- [drivers][I2C]I2C
linux·笔记·学习
老邓计算机毕设24 分钟前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台
VekiSon28 分钟前
Linux内核驱动——杂项设备驱动与内核模块编译
linux·c语言·arm开发·嵌入式硬件
tianyuanwo29 分钟前
企业级NTP客户端配置指南:基于内部NTP服务器的实践
运维·服务器·ntp客户端
Y1rong39 分钟前
linux之网络
linux
麦聪聊数据44 分钟前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构