嵌入式FTP服务器移植_F_hawk189_新浪博客

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用。它
还可以移植到嵌入式Linux中,我们可以把开发板当作一个FTP服务器。

本文中使用的开发板是arm TX2440A
FTP 软件版本:vsftpd-2.1.2

一、编译 vsftpd 程序
1、获得源码包:vsftpd-2.1.2.tar.gz
2、解压,进入源码目录:
#tar xzvf vsftpd-2.1.2.tar.gz
#cd vsftpd-2.1.2
3、修改Makefile,指定交叉编译器:
CC = arm-linux-gcc
4make
编译时会出现错误,跟libcap.so有关,修改vsf_findlibs.sh45-53行注释掉:
# Look for libcap (capabilities)
#if locate_library /lib/libcap.so.1; then
# echo "/lib/libcap.so.1";
#elif locate_library /lib/libcap.so.2; then
# echo "/lib/libcap.so.2";
#else
# locate_library /usr/lib/libcap.so && echo "-lcap";
# locate_library /lib/libcap.so && echo "-lcap";
#fi
再次执行#make,生成vsftpd可执行程序,放到根文件系统/usr/sbin目录下。

二、修改配置文件 vsftpd.conf
需要用到哪一项,就把这一项前面的注释‘#’去掉,这里给出我们的配置:
anonymous_enable=YES
no_anon_password=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
ls_recurse_enable=YES
listen=YES
listen_port=21
把修改后的vsftpd.conf文件放到根文件系统的/etc/vsftpd目录下,否则运行会出错:500 OOPS
vsftpd: cannot open config

三、创建必要的帐号、目录
1、建立FTP目录:
# mkdir -p /var/ftp/pub
因为ftp目录不能开启所有权限,所以建一个pub目录加上所有权限,用来传输文件。
# mkdir -p /usr/share/empty
程序运行所用到的目录。
2、改变目录权限
# chown root:root /var/ftp
# chmod 755 /var/ftp
# cd /var/ftp
# chmod 777 pub
3、添加帐号(如果系统中有,就不用添加)
# useradd nobody
# useradd -d /var/ftp ftp

四、在开发板上运行 vsftpd
把制作好的文件系统下载到开发板上,在后台运行程序:
# vsftpd /etc/vsftpd/vsftpd.conf&
也可以把它写入启动脚本,vsftpd后面的参数就是要使用的配置文件。
程序运行后可能出会现错误:
500 OOPS: could not bind listening IPv4 socket

解决方法:
1. 复制vsftpd源码目录下的xinetd.d文件夹到文件系统/etc目录下,里面有一个文件vsftpd,修
改其内容:disable = yes
2. 可能是已经启动了vsftpd,端口已被占用,再次启动vsftpd就会报错,可以先杀死vsftpd
程,再启动。
五、使用 FTP 软件
1. 先安装软件:freshftp-v5.22
2. 连接好电脑和开发板之间的网线,打开freshftp
3. Address中输入开发板的IP地址:192.168.1.10,端口号:21,点击Connect,连接到开发
板(如图1),成功连接后的状态(如图2)。
4. 左边是本地计算机的资源,右边是FTP服务器的资源。如果要上传文件到FTP,先在本地
资源中选择要上传的文件,然后点击向右的箭头,就完成了上传功能。(如图3),上传文件后,就
会在pub目录下显示上传的文件(如图4)。
如果是从FTP上下载文件,先在FTP的目录下选择要下载的文件,然后点击向左的箭头,就完
成了下载功能。


嵌入式FTP服务器移植(图一)


嵌入式FTP服务器移植(图二)


嵌入式FTP服务器移植(图三)


嵌入式FTP服务器移植(图四)


在开发板上查看pub目录:


嵌入式FTP服务器移植

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值