网上下载vsftpd源码包
1.解压缩 tar zxvf vsftpd-2.3.4.tar.gz; cd vsftpd-2.3.4
2.编译 make CC = mips-linux-gcc >& make.txt
出现错误
/lib/libcap.so.1: could not read sybmols ;file in wrong format .
collect :ld returned exits status .
make ** [vsftpd] error
是因为Makefile 中写到 LIBS = `./vsf_findlibs.sh`,程序编译的过程要连接到动态库,这里需要64位的才行,故
在当前目录 vi vsf_findlibs.sh,找到下面一段,将其屏蔽
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 /lib64/libcap.so&&echo "-lcap";
fi
加入
if locate_library /lib64/libcap.so.1;then
echo "/lib64/libcap.so.1";
else
locate_library /usr/lib64/libcap.so&&echo "-lcap";
locate_library /lib64/libcap.so&&echo "-lcap";
fi
再次make CC = mips-linux-gcc >& make.txt ,编译通过
3.编写配置文件vsftpd.conf
我的本地用户配置文件如下
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_list_enable=YES
chroot_list_file=/etc/chroot_list
local_root=/usb
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
dirmessage_enable=.message
max_clients=100
max_per_ip=5
local_max_rate=81920
use_localtime=YES
listen=YES
nopriv_user=nobody
匿名用户配置文件vsftpdanon.conf
local_enable=NO
anonymous_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_enable=YES
anon_other_write_enable=YES
anon_umask=022
anon_root=/usb
xferlog_enable=YES
xferlog_file=/var/log/vsftpdanon.log
anon_max_rate=81920
ftp_username=nobody
listen=YES
将vsftpd拷贝之/usr/sbin目录下,vsftpd.conf,vsftpdanon.conf拷贝至/etc 目录下,然 后启动ftp服务
/usr/sbin/vsftpd /etc/vsftpd.conf &
windows机器下配置IP(192.168.44.100),我的电脑地址栏输入 ftp://192.168.44.1(开发板IP)或者使用ftp软件,就可以登录到板子目录上了,这样就完成了vsftpd 的简单移植