搭建FTP
发布日期:2025-01-03 17:53 点击次数:104
vsftpd(very secure FTP daemon)是Linux操作系统下的一款小巧轻快、安全易用的FTP服务器软件。本文介绍如何在Linux服务器中安装、配置vsftpd,并测试连接FTP服务器。本文主要介绍配置简单的匿名用户模式以及较为安全的本地用户模式。步骤一:准备工作步骤二:安装与配置vsftpd本示例以在CentOS 7为例,不同的操作系统操作略有差异。更多信息,请参见搭建FTP站点。远程连接Linux服务器。执行以下命令,查看轻量服务器是否已安装vsftpd。部分使用应用镜像部署的轻量应用服务器已经预安装了vsftpd,如果再次安装可能会出现冲突。vsftpd -v如果回显信息类似如下所示,表示当前轻量应用服务器已经安装了vsftpd,您无需再次安装,您可以参考应用镜像文档获取FTP的用户名和密码,然后配置防火墙和通过FTP客户端测试连接FTP服务器。[admin@iZ2579sxicu**** ~]$ vsftpd -v
vsftpd: version 3.0.2运行以下命令,安装vsftpd。运行以下命令,设置FTP服务开机自启动。运行以下命令,启动FTP服务。运行以下命令,查看FTP服务的端口号。步骤三:设置FTP服务器的访问模式您可以选择以下任一方式设置FTP服务器,建议您使用更加安全的本地用户模式。本地用户模式(推荐)运行以下命令为FTP服务创建一个Linux用户。运行以下命令修改ftptest用户的密码。运行以下命令创建一个供FTP服务使用的文件目录。sudo mkdir /var/ftp/test运行以下命令更改/var/ftp/test目录的拥有者为ftptest。sudo chown -R ftptest:ftptest /var/ftp/test修改vsftpd.conf配置文件。运行以下命令,修改配置文件/etc/vsftpd/vsftpd.conf。按i进入编辑模式。配置FTP服务器为被动模式。修改下列参数的值:#禁止匿名登录FTP服务器。
anonymous_enable=NO
#允许本地用户登录FTP服务器。
local_enable=YES
#监听IPv4 sockets。
listen=YES在行首添加#注释掉以下参数,关闭监听IPv6 sockets:#listen_ipv6=YES在配置文件的末尾添加下列参数,其中pasv_address参数需要替换为轻量应用服务器的公网IP地址:#设置本地用户登录后所在目录。
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
#本示例中为轻量应用服务器的公网IP地址。
pasv_address=39.105.xx.xx
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=50000
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=50010更多参数的详细信息,请参见vsftp配置文件及参数说明。按Esc退出编辑模式,然后输入:wq并回车,保存退出文件。创建chroot_list文件,并在文件中写入例外用户名单。运行以下命令,创建chroot_list文件。sudo vim /etc/vsftpd/chroot_list按i进入编辑模式。输入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。按Esc退出编辑模式,然后输入:wq并回车,保存退出文件。运行以下命令,关闭防火墙。sudo systemctl stop firewalld修改配置文件。运行以下命令,打开/etc/ssh/sshd_config文件。sudo vi /etc/ssh/sshd_config在文件尾行将PasswordAuthentication的值改为yes。修改完成后,按Esc,输入:wq!,并按Enter,保存修改后的配置文件并退出编辑模式。运行以下命令,重启FTP服务。sudo systemctl restart vsftpd.service匿名访问模式运行以下命令,修改配置文件/etc/vsftpd/vsftpd.conf。按i进入编辑模式。分别找到匿名模式(anonymous_enable)以及匿名上传权限(anon_upload_enable),并确认已修改为开启状态。在文件的末尾,新增以下参数。#开启被动模式。
pasv_enable=YES
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=50000
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=50010
#轻量应用服务器的公网IP地址
pasv_address=39.105.xx.xx 按Esc退出编辑模式,然后输入:wq并回车,保存退出文件。运行以下命令,更改/var/ftp/pub目录的权限,为FTP用户添加写权限。运行以下命令,重启FTP服务。sudo systemctl restart vsftpd.service步骤四:配置Linux服务器的防火墙搭建好FTP站点后,在Linux服务器的防火墙中,需要放行下列FTP端口。具体操作,请参见添加防火墙规则。步骤五:通过FTP客户端测试连接FTP服务器打开FileZilla客户端。在顶部菜单栏,选择文件 > 站点管理器。在站点管理器对话框的左下角,单击新站点(N)。输入新站点的名称,并完成站点配置。单击连接。vsftp配置文件及参数说明