基于华为云服务器的FTP站点搭建

前言

  主要介绍了华为云上如何使用弹性云服务器的Linux实例使用vsftpd软件搭建FTP站点。vsftpd全称是“very secure FTP daemon”,是一款在Linux发行版中使用较多的FTP服务器软件。特点是小巧轻快,安全易用。该指导具体操作以CentOS 7.2 64位操作系统为例。

此文档主要用于FTP手工部署的实践、学习与记录。

一、资源准备

1.1  云服务器主机

弹性云服务器实例规格和操作系统:

内存要求最低512MB,推荐768MB以上,纯面板约占系统60MB内存。

100M以上可用硬盘空间(纯面板约占20M磁盘空间)。

宝塔Linux6.0版本是基于Centos7开发的,强烈建议使用Centos 7.x 系统。

需要是全新的干净系统,没有安装过Apache、Nginx、php、MySQL。

Cpu(core)

内存(GB)

系统版本

2

4

CentOS 7.2 64bit

 

1.2  安全组

弹性云服务器所在安全组添加了如下表所示的安全组规则。

FTP模式

方向

协议/应用

端口/范围

源地址

主动模式

入方向

TCP

20端口和21端口

0.0.0.0/0

被动模式

入方向

TCP

21端口和配置文件“/etc/vsftpd/vsftpd.conf”中参数“pasv_min_port”和“pasv_max_port”之间的所有端口

0.0.0.0/0

 

二、 操作步骤

2.1  安装vsftpd

登录云服务器。执行以下命令,安装vsftpd。

yum install -y vsftpd

回显如下信息时,表示软件安装成功。

执行以下命令启动FTP服务并设置FTP服务开机自启。

systemctl start vsftpd.service
systemctl enable vsftpd.service

执行以下命令查看FTP服务端口

netstat -antup | grep ftp

2.2  配置vsftpd

  vsftpd安装后默认开启了匿名FTP的功能,使用匿名FTP,用户无需输入用户名密码即可登录FTP服务器,但没有权限修改或上传文件。用户如果试图使用Linux操作系统中的账号登录服务器,将会被vsftpd拒绝,但可以在vsftpd里配置用户账号和密码登录。以下操作以

在vsftpd 里配置用户账号和密码登录FTP服务器为例。

       执行以下命令创建“ftpadmin”用户。并按照提示设置“ftpadmin”用户密码。

useradd ftpadmin
passwd ftpadmin    

       执行以下命令创建供FTP使用的文件目录,此处以“/var/ftp/work01”为例。

mkdir /var/ftp/work01    

   执行以下命令将创建的文件目录所有者改为用于登录FTP的本地用户。

chown -R ftpadmin:ftpadmin /var/ftp/work01

  修改“vsftpd.conf”配置文件。执行以下命令打开配置文件“vsftpd.conf”。

vi /etc/vsftpd/vsftpd.conf

  可根据实际需求选择将FTP配置为主动模式或者被动模式。如果华为云上的服务器需要通过公网IP地址访问华为云上的实例搭建的FTP服务器时,需要将FTP服务器配置为被动模式。

  主动模式需要配置的参数如下:
#设置以下参数,不允许匿名登录FTP服务器,允许本地用户登录FTP服务器,并指定FTP本地用户使用的文件目录。
anonymous_enable=NO              #不允许匿名登录FTP服务器
local_enable=YES                 #允许本地用户登录FTP服务器
local_root=/var/ftp/work01       #FTP本地用户使用的文件目录

#设置以下参数,限制用户只能访问自身的主目录。
chroot_local_user=YES                      #所有用户都被限制在其主目录
chroot_list_enable=YES                     #启用例外用户名单
chroot_list_file=/etc/vsftpd/chroot_list   #例外用户名单
allow_writeable_chroot=YES                 

被动模式除了需要配置主动模式所需的所有参数外,还需要配置的参数如下:
#设置以下参数,配置FTP支持被动模式。并指定FTP服务器的公网IP地址,以及可供访问的端口范围,端口范围请根据实际环境进行设置。
listen=YES                    
listen_ipv6=NO                
pasv_address=xx.xx.xx.xx      #FTP服务器的公网IP地址
           
pasv_min_port=3000            #被动模式下的最小端口
pasv_max_port=3100            #被动模式下的最大端口

在“/etc/vsftpd/”目录下创建“chroot_list”文件。

touch /etc/vsftpd/ chroot_list

“chroot_list”文件是限制在主目录下的例外用户名单。如果需要设置某个用户不受只可以访问其主目录的限制,可将对应的用户名写入该文件。如果没有例外也必须要有“chroot_list”文件,内容可为空。

执行以下命令重启vsftpd服务使配置生效。

systemctl restart vsftpd.service

三、操作结果

打开客户端的计算机,在路径栏输入“ftp://FTP服务器IP地址:FTP端口”(如果不填端口则默认访问21端口) 。弹出输入用户名和密码的对话框表示配置成功,正确的输入用户名和密码后,即可对FTP文件进行相应权限的操作。

 

说明:

如果FTP服务器配置为主动模式,客户端使用此方法访问FTP站点时,需要对IE浏览器进行设置,才能打开FTP的文件夹。打开IE浏览器,选择“工具 > Internet 选项 > 高级”。勾选“启用FTP文件夹视图”,取消勾选“使用被动FTP”。

使用浏览器访问FTP服务器出错时,建议清除浏览器缓存后再尝试。

posted @ 2022-01-17 16:01  采采卷耳&不盈倾筐  阅读(329)  评论(0编辑  收藏  举报