您阅读这篇文章共耗时:
好记性不如烂笔头,记录一下博主之前环境下搭建过程。vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快、安全易用的FTP软件。本文介绍如何在Linux服务器中安装、配置vsftpd,并测试连接FTP服务器。
背景信息
FTP(File )是一种文件传输协议,基于客户端/服务器架构,支持以下两种工作模式:
FTP支持以下三种认证模式:
本文主要介绍配置简单的匿名用户模式以及较为安全的本地用户模式。
安装与配置vsftpd
1、运行以下命令,安装vsftpd
yum install -y vsftpd
2、运行以下命令,设置FTP服务开机自启动
systemctl enable vsftpd.service
3、运行以下命令,启动FTP服务。
systemctl start vsftpd.service
4、运行以下命令,查看FTP服务的端口号。
netstat -antup | grep ftp
设置FTP服务器访问模式
您可以选择以下任一方式设置FTP服务器,建议您使用更加安全的本地用户模式。
1、匿名访问模式
运行以下命令,修改配置文件/etc/vsftpd/vsftpd.conf。
如果您在安装vsftpd时,使用的是apt vsftpd安装命令,则配置文件路径为/etc/vsftpd.conf。
vim /etc/vsftpd/vsftpd.conf
分别找到匿名模式()以及匿名上传权限(),并确认已修改为开启状态。
不同操作系统版本中,默认的配置文件信息可能有所不同,您需要保证修改后的参数配置,如下所示:
anonymous_enable=YES
anon_upload_enable=YES
在文件的末尾,新增以下参数。
#开启被动模式。
pasv_enable=YES设置被动模式下,建立数据传输可使用的端口范围的最小值。
建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=
设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=
运行以下命令,更改/var/ftp/pub目录的权限,为FTP用户添加写权限。
/var/ftp/pub为FTP服务默认的文件目录。
chmod o+w /var/ftp/pub/
运行以下命令,重启FTP服务。
systemctl restart vsftpd.service
2、本地用户模式
运行以下命令为FTP服务创建一个Linux用户。
本示例中,该用户名为
adduser ftptest
运行以下命令修改用户的密码。
passwd ftptest
运行以下命令创建一个供FTP服务使用的文件目录。
mkdir /var/ftp/test
运行以下命令更改/var/ftp/test目录的拥有者为
chown -R ftptest:ftptest /var/ftp/test
修改vsftpd.conf配置文件
运行以下命令,修改配置文件/etc/vsftpd/vsftpd.conf。
如果您在安装vsftpd时,使用的是apt vsftpd安装命令,则配置文件路径为/etc/vsftpd.conf。
vim /etc/vsftpd/vsftpd.conf
配置FTP服务器为被动模式。
具体的配置参数说明如下:
#除下面提及的参数,其他参数保持默认值即可。修改下列参数的值:
禁止匿名登录FTP服务器。
anonymous_enable=NO
允许本地用户登录FTP服务器。
local_enable=YES
监听ipv4 sockets。
listen=YES
在行首添加#注释掉以下参数:
关闭监听IPv6 sockets。
listen_ipv6=YES
在配置文件的末尾添加下列参数:
设置本地用户登录后所在目录。
local_root=/var/ftp/test
全部用户被限制在主目录。
chroot_local_user=YES
启用例外用户名单。
chroot_list_enable=YES
指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/vsftpd/chroot_list
开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES本示例中为Linux服务器的公网IP。
pasv_address=
设置被动模式下,建立数据传输可使用的端口范围的最小值。
建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=
设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=
创建文件,并在文件中写入例外用户名单。
a、运行以下命令,创建文件。
vim /etc/vsftpd/chroot_list
b、输入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。
运行以下命令,重启FTP服务。
systemctl restart vsftpd.service
配置Linux服务器的防火墙
搭建好FTP站点后,在Linux服务器的防火墙中,需要放行下列FTP端口。
被动模式需开放21端口,以及配置文件/etc/vsftpd/vsftpd.conf中参数和之间的所有端口。
配置完成后,如下图所示:
测试连接FTP服务器
打开 我的电脑 如下图输入url
输入账号、密码即可。至此,FTP服务器搭建完成!