您的位置:首页 > 编程语言 > PHP开发

在嵌入式开发板上移植FTP服务器

2014-04-30 15:13 405 查看
       今天总结了一下在嵌入式开发板上移植FTP服务器,我个人是在Marvell板子上调试,不过就方法而言应该对于所有嵌入式开发板都通用吧。。。

ftp是基于tcp的文件传输服务器,配置很简单,但要真正的要理解,还需要自己对用户权限和协议本身有一定了了解。。。

一、下载源码包    vsftpd-2.1.2.tar.gz

我在UNIXCHINA网站找的资源

下载之后解压源码包:

     tar zxvf vsftpd-2.1.2.tar.gz

cd vsftpd-2.1.2

二、 修改Makefile

找到 CC  =  gcc

改成  CC = arm-linux-gcc   

以自己安装的交叉编译器为准

三、编译   

make

如果编译时候出错,修改vsf_findlibs.sh

45-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  默认的umask码

anon_upload_enable=YES   是否允许匿名ftp上传文件

anon_mkdir_write_enable=YES  是否允许匿名用户有创建目录的权利

anon_other_write_enable=YES  

dirmessage_enable=YES   是否显示目录说明文件,默认是YES但需要收工创建.message文件

xferlog_enable=YES   是否记录ftp传输过程

connect_from_port_20=YES   是否确信端口传输来自20

以下不一一赘述,根据自己需要来配置。。

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&

不出问题的话,pc和开发板就可以通过ftp传输文件了。。

好了,试到这里,应为工作原因不能再继续下去了,先记录下来。。。以后补充哦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: