• FTP服务器移植到Linux开发板


    FTP服务器移植到Linux开发


    提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    提示:这里可以添加本文要记录的大概内容:

    将Linux开发板作为一个小型的 FTP 服务器,这样就可以通过 FileZilla 软件直接在开发板和 windows 之间通过网络进行文件互传。在开发板上搭建 FTP 服务器很简单,就是 vsftpd 的移植。


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、vsftpd源码下载

    在ubuntu中安装FTP服务器可以直接通过apt-get进行安装,但是需要将ftp服务器安装在linux开发板中,就需要自己移植vsftpd,首先需要在vsftpd官网上下载vsftpd源码,(由于vsftpd是外网,可能访问不了),可以直接下载事先准备的vsftp源码文件

    链接:https://pan.baidu.com/s/1pRqtUMPL3dxK4weXxwCFuQ
    提取码:hxco

    二、vsftpd移植及配置

    1.vsftpd移植

    将将源码文件vsftpd-3.0.3.tar.gz移植到ubuntu中,并进行解压

    tar -xvzf vsftpd-3.0.3.tar.gz
    
    • 1

    进入解压后的文件,并修改Makefile文件

    CC = arm-linux-gnueabihf-gcc //修改为当前交叉编译器
    
    • 1

    修改完成后,进行make编译
    最终得到两个文件:vsftpd和vsftpd.conf将vsftpd文件移植到开发板/usr/sbin目录下,将vsftpd.conf移植到开发板/etc目录下
    移植后给予vsftpd可执行权限,并且修改为vsftpd.conf所属用户为root

    chmod +x /usr/sbin/vsftpd
    chown root:root /etc/vsftpd.conf
    
    • 1
    • 2

    2.vsftpd配置

    2.1 配置vsftpd.conf

    跟ubuntu配置vsftpd一样,在linux开发板中打开vsftpd.conf文件,将下面两行进行使能

    local_enable=YES //取消前面的“#”
    write_enable=YES //取消前面的“#”
    
    • 1
    • 2

    2.2 添加新用户

    如果第一次添加用户的话要先将 ubuntu 下的/etc/passwd 和/etc/group 这两个文件复制到开发板根文件系统的对应目录,

    然后需要开发板根文件系统中的/etc/passwd和/etc/group这两个文件,如下:
    在这里插入图片描述
    在这里插入图片描述
    而vstfpd默认需要两个用户:“ftp” 和 “nobody”。在创建这两个用户之前先检查一下下面几个文件和目录是否存在,如果不存在的话需要先创建下面这些文件和目录:

    /home //目录,不存在的话自行创建
    /usr/share/empty //目录,不存在的话自行创建
    /var/log //目录,不存在的话自行创建
    /var/log/vsftpd.log //文件,不存在的话自行创建
    
    创建命令如下:
    mkdir /home
    mkdir /usr/share/empty -p
    mkdir /var/log -p
    touch /var/log/vsftpd.log
    
    创建用户命令:
    adduser ftp //创建 ftp 用户
    adduser nobody //创建 nobody 用户
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    最后我们还需要创建一个登录用户,Filezilla 连接 FTP 服务器的时候一般需要输入用户名和密码,当然了,Filezilla 也支持匿名登录。如果要使用用户名加密码登录的话就要创建一个用户,用户名自己定义,这里我创建一个名为“hx”的用户,命令如下:

    adduser hx //创建登录要用户
    
    • 1

    2.3 启动设置

    输入如下命令,启动vsftpd服务器:

    vsftpd &  //可添加到/etc/init.d/rcS文件,设置开机自启动
    
    • 1
  • 相关阅读:
    【吃瓜之旅】第三章吃瓜学习
    axios封装使用
    Linux 系统误将 chmod 权限改成 了 000,如何恢复?
    Linux网络管理
    java基于springboot+vue+elementui的 居家自动化办公OA系统
    云原生之nacos架构一览解读
    我看见了黑洞
    数据结构之树和二叉树的基本概念,二叉树遍历算法的实现
    thinkphp5.1整合波场trc20
    FinGPT:开源金融大型语言模型
  • 原文地址:https://blog.csdn.net/qq_41828707/article/details/127993778