基于ECS搭建FTP服务器(进阶班-Day1)

FTP的简单介绍

FTP(File Transfer Protocol,文件传输协议)

  • FTP是TCP/IP 协议组中的协议之一。

    • 在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。
    • 此外,在网络上传输大的文件时,一般也采用该协议。
  • FTP协议包括两个组成部分:

    • 其一为FTP服务器
    • 其二为FTP客户端。
  • 默认情况下FTP协议使用TCP端口中的 20和21这两个端口:

    • 20用于传输数据
    • 21用于传输控制信息。
  • 但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,

    • 如果采用主动模式,那么数据传输端口就是20;
    • 如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

vsftpd(very secure FTP daemon)

  • 是一款在Linux发行版中最受推崇的FTP服务器。
  • 它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件。
  • 支持很多其他的 FTP 服务器所不支持的特征。比如:

    • 非常高的安全性需求
    • 带宽限制
    • 良好的可伸缩性
    • 可创建虚拟用户
    • 支持IPv6、速率高等。

一、安装vsftpd

1. 运行以下命令安装vsftpd

$yum install -y vsftpd

安装成功会显示:
基于ECS搭建FTP服务器(进阶班-Day1)

2. 运行以下命令设置FTP服务开机自启动

$systemctl enable vsftpd.service

3. 启动FTP服务

$systemctl start vsftpd.service

4. 运行以下命令查看FTP服务监听的端口。

$netstat -antup | grep ftp

二、配置vsftpd

vsftpd(very secure FTP daemon)是一款在Linux发行版中最受推崇的FTP服务器。vsftpd支持匿名访问和本地用户模式两种访问方式。

  • 匿名访问方式任何用户都可以访问搭建的FTP服务;
  • 本地用户模式只支持添加的本地用户访问搭建的FTP服务。

说明:匿名用户模式和本地用户模式只可同时配置一种。

这里一定要看清楚????,不要傻傻地按匿名模式配置了之后又配置本地用户模式❗️,都想试试的话每轮选其一。

匿名模式

1. 修改配置文件vsftpd.conf.

$vim /etc/vsftpd/vsftpd.conf

2. 将匿名上传权限打开

按 i 键进入编辑模式,将anon_upload_enable=YES。 的注释解开。如下图:
基于ECS搭建FTP服务器(进阶班-Day1)
按ESC键退出编辑模式,输入:wq 保存并退出vim。

3. 更改/var/ftp/pub目录的权限,为FTP用户添加写权限。

   $chmod o+w /var/ftp/pub/

4. 重启FTP服务。

本地用户模式

1. 为FTP服务创建一个Linux用户。

$adduser ftptest     # 添加一个用户
$passwd ftptest         # 为用户设置密码。

2. 创建一个供FTP服务使用的文件目录。

$mkdir /var/ftp/test

3. 更改/var/ftp/test目录的拥有者为ftptest。

$chown -R ftptest:ftptest /var/ftp/test

4. 修改vsftpd.conf配置文件。

说明:配置文件较为复杂,建议察阅相关文档????

5. 在/etc/vsftpd目录下创建chroot_list文件,并在文件中写入例外用户名单。 

说明: 没有例外用户时,也必须创建chroot_list文件,内容可为空。

三、客户端测试

此步骤仅适用于本地用户模式,主要是用来测试FTP服务端有没有建立成功。

  1. 打开Chrom浏览器,在地址栏中输入ftp://:FTP端口

  2. 在弹出的对话框中,输入用户名和密码。

  3. 登录成功,此时可对FTP文件进行相应权限的操作。

????到此为止就大功告成了,是不是很简单。

上一篇:NetFPGA-1G-CML从零开始环境配置


下一篇:kvm虚拟化关闭虚拟网卡virbr0的方法