如何在Banana Pi上架设简易FTP服务器

上个月我找到了一个已经被我弃用几年的160G移动硬盘, 经过一番试验, 这块硬盘还能正常工作, 于是我把它接到了Banana Pi上, 用来存储一些较大的数据. 那么问题来了, 如果我要通过网络让其他设备读写这块硬盘的数据该怎么做, 当时我想到的是架设一个FTP服务器. 在Linux系统上架设FTP服务器是相当简单的, 在Banana Pi上也是如此, 于是, 说做就做.

准备

  • 一个能够访问互联网的Banana Pi

开始

安装FTP的服务器程序在大多数Linux发行版上是相当容易的, 比如基于Debian的Bananian上, 只需要:

apt-get install vsftpd  

这样, vsftpd就被安装到了你的Banana Pi上, vsftpd是一个在Linux上非常流行的FTP服务器程序, 所以基本上无论哪种包管理器, 都能轻松的在线安装上它.

当然, 安装完毕还是不能工作的, 需要进行一些配置, 首先用这行命令创建一个默认配置文件的副本:

cp /etc/vsftp.conf /etc/vsftp.conf.old  

然后编辑/etc/vsftpd.conf文件, 进行以下配置:

local_root=/ anon_root=/ chroot_local_user=YES chroot_list_enable=NO chroot_list_file=/etc/vsftpd.chroot_list write_enable=YES local_enable=YES  

其中anonroot和localroot分别是匿名用户和用户访问FTP时的根目录, 请根据情况修改, 如果你向我一样只是用在内网中, 那么使用/也没问题. 剩下的配置项你都可以在vsftpd的文档上找到, 在Ubuntu Wiki中还有详细的中文介绍, 这里就不再赘述.

接着编辑/etc/ftpusers文件, 这个文件是用来禁止用户登录FTP的, 你可以看到绝大多数的用户都被列在这个文件里, 删掉你要用来登录FTP的用户即可.

最后重启一遍vsftpd的服务, FTP服务器就算架设完了:

service vsftpd restart  

如果你在登录时遇到500错误, 请检查一下vsftpd的版本是不是2.3.5, 该版本存在一个bug, 将导致验证用户时出现500错误, 在终端中执行以下代码就能修复该bug:

echo "deb http://ftp.cyconet.org/debian wheezy-updates main non-free contrib" >> /etc/apt/sources.list.d/wheezy-updates.cyconet.list; aptitude update; aptitude install -t wheezy-updates debian-cyconet-archive-keyring vsftpd && echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf && /etc/init.d/vsftpd restart