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

相关推荐
音乐宝贝家14 分钟前
吉他面板材质怎么选?云杉单板面单吉他配置深度解析
数据库·新媒体运营·产品运营·媒体·材质·内容运营
2401_873479401 小时前
企业安全运营中,如何用IP离线库提前发现失陷主机?三步实现风险画像
网络·数据库·python·tcp/ip·ip
周末也要写八哥2 小时前
数据库安装 | SQL Server2022安装教程及网盘下载地址
数据库
三千里2 小时前
ZSH的简单配置
linux·zsh·terminal
李燚2 小时前
erlang_migrate 架构拆解:behaviour 驱动的多数据库迁移引擎
数据库·postgresql·架构·erlang·migrate·behaviour·erlang_migrate
Jinkxs2 小时前
PostgreSQL - 全文检索的开启与基础使用
数据库·postgresql·全文检索
Jinkxs2 小时前
Python基础 - 文件的写入操作 write与writelines方法
android·服务器·python
提伯斯6462 小时前
解决Fast-Drone-250编译相关错误
linux·ros·无人机·fast-drone
情绪总是阴雨天~2 小时前
检索增强生成 (RAG) 四大检索策略详解
数据库·prompt·检索增强
学Linux的语莫2 小时前
redis的数据类型和使用
数据库·redis·缓存