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

相关推荐
荒Huang15 分钟前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
MonkeyKing_sunyuhua30 分钟前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
天郁青30 分钟前
数据库交互的本地项目:后台管理系统
数据库·交互
马剑威(威哥爱编程)35 分钟前
MongoDB面试专题33道解析
数据库·mongodb·面试
九河云1 小时前
如何选择适合的AWS EC2实例类型
服务器·云计算·aws
小光学长1 小时前
基于vue框架的的流浪宠物救助系统25128(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
数据库·vue.js·宠物
零炻大礼包2 小时前
【SQL server】数据库远程连接配置
数据库
zmgst2 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql
随心............2 小时前
python操作MySQL以及SQL综合案例
数据库·mysql
€☞扫地僧☜€2 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器