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

相关推荐
水月wwww15 小时前
操作系统——进程管理
linux·操作系统·vim·进程·进程调度
我科绝伦(Huanhuan Zhou)15 小时前
分享一个可以一键制作在线yum源的脚本
linux·运维
TDengine (老段)16 小时前
TDengine 数学函数 DEGRESS 用户手册
大数据·数据库·sql·物联网·时序数据库·iot·tdengine
TDengine (老段)16 小时前
TDengine 数学函数 GREATEST 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
Paper_Love16 小时前
Linux-查看硬件接口软件占用
linux·运维·服务器
安当加密16 小时前
云原生时代的数据库字段加密:在微服务与 Kubernetes 中实现合规与敏捷的统一
数据库·微服务·云原生
wydaicls16 小时前
Linux 系统下 ZONE 区域的划分
linux·运维·服务器
带土116 小时前
17. Linux wc命令
linux
螺旋小蜗16 小时前
Linux Cgroup与Device Whitelist详解
linux·运维·服务器·cgroup
染指111016 小时前
36.渗透-端口
linux·运维·服务器