Vsftpd-3.0.2服务器arm-linux移植—mini2440开发板

转载 2013年12月02日 10:38:18
Vsftpd-3.0.2服务器arm-linux移植—mini2440开发板

开发板:mini24402011.04.21)环境:ubuntu9.10

为方便的将文件上传到开发板,采用vsftpd,移植过程如下:

1.       获取源码,地址:ftp://vsftpd.beasts.org/users/cevans/

2.       修改Makefile文件,按实际情况填写,请仔细查看路径,我的是

CC =     /opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc

3.       修改vsf_findlibs.sh

屏蔽535457

50 # Look for libcap (capabilities)

 51 if locate_library /lib/libcap.so.1; then

 52   echo "/lib/libcap.so.1";

 53 #elif locate_library /lib/libcap.so.2; then

 54 #  echo "/lib/libcap.so.2";

 55 else

 56   locate_library /usr/lib/libcap.so && echo "-lcap";

 57 #  locate_library /lib/libcap.so && echo "-lcap";

 58   locate_library /lib64/libcap.so && echo "-lcap";

 59 fi

4.  make

5.  把动态链接库从编译器的lib下拷贝到跟文件系统的lib目录下,进入vsftpd-3.0.2目录,执行

$ arm-none-linux-gnueabi-readelf -d vsftpd

 

Dynamic section at offset 0x1caa0 contains 35 entries:

  Tag        Type                         Name/Value

 0x00000001 (NEEDED)                     Shared library: [libcrypt.so.1]

 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]

 0x00000001 (NEEDED)                     Shared library: [libnsl.so.1]

 0x00000001 (NEEDED)                     Shared library: [libresolv.so.2]

 0x00000001 (NEEDED)                     Shared library: [libutil.so.1]

 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

 0x00000001 (NEEDED)                     Shared library: [ld-linux.so.3]

 0x0000000c (INIT)                       0x44c8

 0x0000000d (FINI)                       0x19180

 0x00000019 (INIT_ARRAY)                 0x24a94

 0x0000001b (INIT_ARRAYSZ)               4 (bytes)

 0x0000001a (FINI_ARRAY)                 0x24a98

 0x0000001c (FINI_ARRAYSZ)               4 (bytes)

….

将上面的7个共享库拷贝过去,库路径是

/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib

cp –advfr libcrypt.so.1 libdl.so.2 libnsl.so.1 libresolv.so.2 libutil.so.1 libc.so.6 ld-linux.so.3 /rootfs/lib

6. 把生成的vsftpd 拷贝到跟文件系统的sbin目录下,把vsftpd.conf文件拷贝到 根文件系统的/rootfs/etc目录下。
至此,arm-linux环境下的ftp服务器移植完成,下面开始对服务器进行配置。以下为一个简单的配置,不考虑安全性。

anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_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
nopriv_user=ftp
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
ls_recurse_enable=YES
listen_port=21
anon_other_write_enable=YES

7. 将文件系统镜像烧写,启动后在开发板上创建必要的账号、目录

addusr nobody   //vsftpd 默认配置需要
mkdir /usr/share/empty  //vsftpd 默认配置需要
#adduser –D  
ftp
#chown root:root /home/ftp //注意不是/var/ftp
#chmod 755 /home/ftp
8. 
创建一个本地账户michael,创建好之后可以用michael登录
addusr michael
#passwd 123456
9. 
添加一个只能从ftp登录,而不能从本地的登录的用户yaho
addusr -G ftp -S yaho  //-G -S 如果用-g -s 客户将不能登录:530 Login incorrect
#passwd 12345

10. 服务器端执行 vsftpd /etc/vsftpd.conf ,客户端执行ftp YOUR_IP_ADDR ,输入帐号名yaho和密码即登入。
11. 
cat /etc/passwd cat /etc/group 命令查看yahoftp是否是同一组

12.测试

Ubuntu

$ ftp 板子IP

Connected toXX.

220 Welcome to blah FTP service.

Name (XX:XX): yaho

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

测试一般操作

ftp> cd ..

250 Directory successfully changed.

ftp> ls

200 PORT command successful. Consider using PASV.

150 Here comes the directory listing.

-rwxr-xr-x    1 1000     1000       584718 Nov 16  2011 Server

drwxr-xr-x    1 0        0            2048 Aug 31 11:23 ftp

drwxr-sr-x    1 1001     1001         2048 Aug 31 12:19 yaho

可见远程登录后会进入/home/yaho目录下

ftp> cd yaho

ftp> mkdir work //在开发板上创建也可以,开放权限chmod 777

ftp> cd work

250 Directory successfully changed.

测试上传文件

ftp> put filename

local: epaServer remote: epaServer

200 PORT command successful. Consider using PASV.

150 Ok to send data.

226 Transfer complete.

11541 bytes sent in 0.06 secs (189.1 kB/s)

注意:ftp本身好像不支持这种绝对路径文件的上传,要上传,先进入要上传文件的目录中及FTP服务器具有写权限的目录中。

Windows XP下用Cuteftp测试也是可以的。登录时用户名和密码同上,端口21,其他置空即可。

结果如下


=============================================================================

vsftpd移植比较麻烦些,可以使用另外一个程序 stupid-ftpd, 这个移植起来很快,百度下就可以找到了

vsftpd移植到ARM Linux教程

vsftpd即very secure FTP daemon(非常安全的FTP进程),是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux、BSD、...
  • laiyehua
  • laiyehua
  • 2015年01月31日 11:19
  • 1062

ftp(vsftp) 在Cortex-A9 ARM CPU s5p4418上的移植

1   VSFTPD概述     vsftpd即very secure FTP daemon(非常安全的FTP进程),是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),...
  • guohuicao
  • guohuicao
  • 2017年06月12日 10:29
  • 356

vsftpd移植到arm问题

最近想让ARM开发板能够支持ftp文件传输,主要是想做个小服务器之类的东西,通过wifi和局域网,把ARM板子上面的文件下载到,局域网的任意PC上面。网上查了一下,发现有vsftpd移植的方案,觉得可...
  • aifei7320
  • aifei7320
  • 2015年07月16日 09:41
  • 462

Yocto IMX6 vsftpd 移植到ARM

(1)下载最新版本源码包,下载地址:https://security.appspot.com/vsftpd.html#download。本文以 vsftpd-3.0.2.tar.gz 版本为例。  ...
  • xiaobao090251634
  • xiaobao090251634
  • 2015年11月19日 13:44
  • 1004

vsftpd-3.0.2源码编译安装配置指南

 首先,下载vsftpd-3.0.2源码包. 详细的安装过程如下: [root@localhost vsftpd-3.0.2]# tar zxvf vsftpd-3.0.2.tar.gz ...
  • janeqi1987
  • janeqi1987
  • 2015年07月20日 12:13
  • 7467

vsftpd-3.0.2.tar.gz

  • 2015年07月04日 16:56
  • 188KB
  • 下载

arm平台搭建vsftpd服务

编译vsftpd程序 1. 获得源码包:vsftpd-2.1.2.tar.gz 2. 解压,进入源码目录:           tar xzvf vsftpd-2.1.2.tar.g...
  • yandaqijian
  • yandaqijian
  • 2014年12月24日 11:59
  • 400

ftpserver arm上

http://bftpd.sourceforge.net/下载bftpd.tar.gz. 解压: tar zxvf bftpd.tar.gz cd bftpd ./configure mak...
  • zhu114wei
  • zhu114wei
  • 2012年04月09日 09:19
  • 627

在armlinux 下架设 vsftpd 服务器(文档加源码)详细

  • 2012年05月20日 01:53
  • 216KB
  • 下载

vsftpd移植到ARM Linux教程

vsftpd即very secure FTP daemon(非常安全的FTP进程),是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux、BSD、...
  • laiyehua
  • laiyehua
  • 2015年01月31日 11:19
  • 1062
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Vsftpd-3.0.2服务器arm-linux移植—mini2440开发板
举报原因:
原因补充:

(最多只允许输入30个字)