基于树莓派制作简单的FTP服务器

虽然FTP(文件传输协议)是一种很老的技术,但仍然被许多系统和硬件设备支持。例如,你可以用树莓Pi创建一个FTP服务器,用于保存IP摄像头获取的照片。当然,如果有选择,最好还是使用SFTP协议,但如果你的设备只支持FTP协议,那么本文将带你一起学习创建FTP服务器。

建立树莓派FTP服务器

我们将会使用到 vsftpd,这是一个非常流行的Linux应用程序,安全、稳定、速度快。

初始化设置

首先一张包含最新树莓派 image 的SD卡是必须的,然后将树莓派连接到你的网络,有线或WiFi均可。

获取网络IP地址:ifconfig ,地址格式类似 192.168.###.###.

步骤1 -安装vsftpd

使用以下命令更新您的系统库并安装vsftpd软件:

sudo apt-get update
sudo apt-get install vsftpd

步骤2 -更新配置文件

安装后,使用工具编辑vsftpd配置文件:

sudo nano /etc/vsftpd.conf

在这个文件中找到以下几行,通过删除#字符取消注释:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES

在文件末尾添加以下几行:

user_sub_token=$USER
local_root=/home/$USER/ftp

使用CTRL-X、Y和ENTER保存和退出。

步骤3 -为默认用户创建FTP目录

为了允许您使用默认用户连接到FTP服务器,我们需要创建几个目录:

mkdir /home/pi/ftp
mkdir /home/pi/ftp/files

更改ftp目录的权限:

chmod a-w /home/pi/ftp

步骤4 -创建新用户(可选)

如果您想用另一个用户名登录服务器,我们可以创建一个新用户。在本例中,我们将创建一个名为“camera”的新用户:

sudo adduser camera

系统会提示您输入密码,根据喜好输入吧。

在屏幕上应该看到这样的显示

建立树莓派FTP服务器

这个新用户还需要配置FTP目录:

mkdir /home/camera/ftp
mkdir /home/camera/ftp/files

更改目录权限:

chmod a-w /home/camera/ftp

下面不是基本文件传输功能所必需的,但新用户可以通过运行命令获得使用“sudo”相同的权限:

sudo adduser camera sudo

步骤5 -重新启动FTP服务器

最后重新启动vsftpd服务,使我们的更改生效:

sudo service vsftpd restart

步骤6 -测试FTP服务器

剩下的就是检查您是否可以连接到服务器并传输文件了。

ifconfig

下面,在你的PC/笔记本电脑上运行FTP客户端。Windows用户可以使用WinSCP。Windows、Mac或Linux用户可以使用FileZilla。如果您已经通过SSH连接到命令行,那么可以对FTP使用相同的客户机。

要在客户端连接服务器,您需要提供Pi的主机名(IP地址)、用户名(例如Pi或camera)和密码。确保设置为使用FTP协议和端口21。

下面是WinSCP截图:

树莓派FTP服务器连接

它使用“camera”用户名连接到我的Pi。

winscp连接树莓派FTP服务器

选择目录,如果能够将文件传输到目录下。恭喜!你的FTP服务器制作成功了。

查看FTP会话日志

您可以检查vsftpd会话日志,查看到FTP服务器的连接历史记录。

cat /var/log/vsftpd.log

分享到: