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

2019-07-12 17:03发布

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

下载

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

解压

$ cd /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:/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 /tmp/ # 复制执行文件到目标板 $ sudo cp vsftpd.conf /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 /Filesystem/tmp # 添加可执行权 修改vsftpd和vsftpd.conf文件权限,用户配置文件权限把用户与都改为root,访问为读写 准备工作完成