对于vsftpd移植想必你们都心存疑惑,本篇是个人一点小小经验,仅供你们参考:html
下载最新版本源码包,下载地址:https://security.appspot.com/vsftpd.html#download。本文以 vsftpd-3.0.2.tar.gz 版本为例。linux
若是以上下载地址没法访问,也能够本地下载 vsftpd-3.0.2.tar.gz。app
$ mkdir ~/vsftpd工具
$ cp vsftpd-3.0.2.tar.gz ~/vsftpd测试
$ cd ~/vsftpdspa
$ tar xzf vsftpd-3.0.2.tar.gzhtm
$ cd vsftpd-3.0.2/get
命令中的“~”表示当前用户目录,好比在Linux主机上面工做的用户是:veryarm,那么命令中的“~”就表明路径:/home/veryarm/目录。源码
$ export PATH=$PATH:/usr/local/arm-2010q1/bin #交叉编译工具路径加入系统环境变量!it
$ vi Makefile
打开Makefile文件后,修改 CC 变量的值,修改后以下:
CC = arm-none-linux-gnueabi-gcc
其中,
· CC: 指定交叉编译工具,通常为arm-none-linux-gnueabi-gcc、arm-linux-gnueabihf-gcc、arm-linux-gcc等,具体要和目标板用的交叉编译工具对应。
$ make # 编译,若是电脑是多核CPU,如四核,使用make -j4可提升编译速度
make 后,当前目录下会生成两个文件:vsftpd 和 vsftpd.conf,这两个文件是咱们要用的。
将生成的 vsftpd 复制到目标板 /usr/sbin 目录,vsftpd.conf 复制到目标板 /etc 目录,并添加 vsftpd 为可执行:
$ cp vsftpd /usr/sbin # 复制执行文件到目标板
$ cp vsftpd.conf /etc/ # 复制配置文件到目标板
$ chmod +x /usr/sbin/vsftpd # 添加可执行权限
使用 vi 打开 vsftpd.conf 文件,并进行配置,以下配置可实现正常上传下载功能:
anonymous_enable=NO # 默认的 YES 改成 NO
local_enable=YES # 删除前面的#号注释符号
write_enable=YES # 删除前面的#号注释符号
anon_upload_enable=NO # 删除前面的#号注释符号,并将 YES 改成 NO
anon_mkdir_write_enable=NO # 删除前面的#号注释符号,并将 YES 改成 NO
anon_other_write_enable=NO # 删除前面的#号注释符号,并将 YES 改成 NO(这一项新版本中可能没有)
chroot_local_user=YES # 删除前面的#号注释符号,改行表示把FTP用户都限制在家目录中
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot=YES # 添加本行到文件最后
将须要限制用户放置到/etc/vsftpd.chroot_list,一行一个用户。
再在目标版上使用命令配置:
$ adduser nobody # vsftpd默认配置须要
$ mkdir /usr/share/empty # vsftpd默认配置须要
建立一个本地用户,并设置密码:
$ adduser ftpadmin
Changing password for ftpadmin
New password:
Retype password:
Password for ftpadmin changed by root
配置完以后,在目标板上打开vsftp,命令:
$ vsftpd &
注意,后面还有一个 &。若是要让 vsftpd 开机启动,能够将该命令添加到 /etc/profile 或者 rc.local 文件最后。
配置目标板 IP,使其可以与电脑ping通,而后在电脑上打开客户端,输入目标板IP、用户名、密码,就能够链接上去了。
就这样妥妥的移植过去了,喜欢的话顶一下吧!