前言
使用ftp可以将文件快速的上传到ftp服务器或者下载文件,很方便的在PC端与ARM板之间进行文件传输
一、准备软件包
我这里使用的是 vsftpd-2.1.2.tar.gz, 解压 (tar -zxvf vsftpd-2.1.2.tar.gz)
二、交叉编译
1.进入解压后的文件夹, 修改Makefile: (修改交叉编译工具我这里使用的是arm-linux-gnueabihf-gcc)
将CC=gcc 修改为 CC=arm-linux-gnueabihf-gcc -lcrypt
2.修改vsf_findlibs.sh脚本文件:屏蔽#Look for libcap部分,版本不同,代码可能不同,2.1.2版本代码如下:
#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
3.执行 make , 会生成几个可执行文件,如vsftpd。
三、修改配置
1.将vsftpd拷贝到arm板/usr/sbin目录下
2.拷贝vsftpd.conf到arm板/etc目录下,并修改该文件,具体配置如下
anonymous_enable=YES // 允许匿名用户
local_enable=YES // 本地访问
write_enable=YES
local_umask=077
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
。。。
其他默认,也可按需配置
在文档最后加入:
listen_port=21
pam_service_name=vsftpd
ftp_username=ftp
anon_root=/home/ftp
3.创建文件夹
mkdir /var/ftp
mkdir /var/ftp/pub
chmod 777 /var/ftp/pub
注:需与vsftpd.conf中的配置一致
mkdir /usr/share/empty
四、创建用户并测试
1.执行命令 adduser ftpuser
跟随提示设置密码
2.执行命令 vsftp & 运行ftp
3.PC端打开ftp客户端,输入ip, 用户名、密码、端口默认21 连接,测试