Zynq研发(5)——移植vsftpd准备

未来需要通过嵌入式Linux系统的ftp服务上传应用程序和下载数据,因此需要先准备好vsftpd移植工作。本工作在Ubuntu虚拟机里完成。

下载

下载vsftpd-3.0.3.tar.gz:https://security.appspot.com/vsftpd.html#download
拷贝到Ubuntu虚拟机工作文件夹<WORK>/vsftpd

解压

$ cd <WORK>/vsftpd
$ tar xzf vsftpd-3.0.3.tar.gz
$ cd vsftpd-3.0.3/

配置

打开Makefile文件,修改CC(交叉编译工具)和LIBS变量的值并保存,如下:

CC = arm-xilinx-linux-gnueabi-gcc

LIBS = `./vsf_findlibs.sh` -lcrypt

编译器PATH路径需要预先设置好,比如:

$ export PATH=$PATH:<WORK>/Toolchain/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin

编译

$ make    # 编译,如果电脑是多核CPU,如四核,使用make -j4可提高编译速度

编译完成,当前目录下会生成两个文件vsftpd和vsftpd.conf,这两个文件是我们要用的

复制

后续需要将生成的vsftpd移动到rootfs/usr/sbin目录,vsftpd.conf复制到rootfs/etc目录,现在先复制到临时文件夹

$ sudo cp vsftpd <WORK>/tmp/               # 复制执行文件到目标板
$ sudo cp vsftpd.conf <WORK>/tmp/          # 复制配置文件到目标板

配置

用gedit打开vsftpd.conf文件进行配置,如下配置可实现匿名用户正常上传下载功能,后续再增加指定用户功能:

#下面修改

anonymous_enable=YES #允许匿名用户

local_enable=YES  #本地访问

write_enable=YES  #可修改

local_umask=022   #创建的文件权限

anon_upload_enable=YES  #允许匿名用户上传

anon_mkdir_write_enable=YES  #可创建文件夹和修改文件夹内的文件

dirmessage_enable=YES  #激活目录消息

xferlog_enable=YES  //激活上传/下载的日志

connect_from_port_20=YES  #传输连接来自端口20

xferlog_std_format=YES  #使用标准ftpd xferlog格式的日志文件

listen=YES  #启用监听

#下面添加

listen_port=21

#pam_service_name=vsftpd

no_anon_password=YES

local_root=/

anon_root=/home/ftp

anon_world_readable_only=YES

tcp_wrappers=NO

权限

将vsftpd修改为可执行权限:

$ sudo chmod +x <WORK>/Filesystem/tmp      # 添加可执行权

修改vsftpd和vsftpd.conf文件权限,用户配置文件权限把用户与都改为root,访问为读写

准备工作完成

猜你喜欢

转载自blog.csdn.net/mcubbs/article/details/82968541
今日推荐