> 文章列表 > 【Linux网络服务】FTP服务

【Linux网络服务】FTP服务

【Linux网络服务】FTP服务

FTP服务

  • 一、FTP服务
    • 1.1FTP服务概述
    • 1.2FTP服务的特点
    • 1.3FTP服务工作过程
  • 二、设置FTP服务
    • 2.1实验一:设置匿名用户访问FTP服务(最大权限)
    • 2.2实验二:设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)
    • 2.3实验三: 启用用户列表文件,设置白名单或者黑名单
    • 2.4实验四:修改匿名用户、本地用户登录的默认根目录

一、FTP服务

1.1FTP服务概述

  • 文件传送协议(File Transfer Protocol)是互联网上使用的最广泛的文件传输协议,用于Internet上的控制文件的双向传输。

  • FTP提供交互式的访问,允许客户指明文件类型与格式,并允许文件具有存取权限。

  • FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中计算机之间传送文件。

1.2FTP服务的特点

  • 文件传送协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输方式。

  • FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

  • FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提提供服务,FTP的服务器进程由二大部分组成:一个是主进程,负责接受新的请求;另外有诺干个从属进程,负责处理单个请求。

1.3FTP服务工作过程

  • FTP有两种工作模式,一种方式叫做Standard (也就是Active, 主动方式),一种是Passive(也就是PASV,被动方式)
    主动模式
  • FTP客户端首先和FTP Server 的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。
    被动模式
  • 在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV命令的时候,FTP server打开一个位于1024和5000之间的随机高位端口并且通知客户端在这个端口上传送数据的请求,然后FTP server将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
  • 20端口用于建立数据连接,并传输文件数据
    21端口用于建立控制连接,并传输FTP控制命令
    1.客户端向服务器发出连接请求,同时客户端会打开一个大于1024的端口等候服务器连接(例如:1030端口)。

【Linux网络服务】FTP服务
2.当FTP服务器在端口21侦听到该请求,则会在客户端1030端口和服务器的21端口之间建立起一个FTP会话连接。
【Linux网络服务】FTP服务
3.当客户端有数据传输请求时,FTP客户端在动态打开一个大于1024的端口(例如:1031),与FTP服务器的20端口连接,建立数据传输通道
【Linux网络服务】FTP服务4.当数据传输完成后,数据传输通道自动断开,两个端口自动关闭
【Linux网络服务】FTP服务
(5)FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口自动释放。

【Linux网络服务】FTP服务
注意:FTP的会话通道的建立,以及传输通道的建立,都是建立在tcp三次握手的应答基础上的。

二、设置FTP服务

2.1实验一:设置匿名用户访问FTP服务(最大权限)

(1)下载FTP服务,关闭防火墙

ystemctl stop firewalld
setenforce 0yum -y install vsftpd

(2)备份FTP配置文件

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

(2) 修改配置文件vim /etc/vsftpd/vsftpd.conf.bak

【Linux网络服务】FTP服务

(3)设置上传数据目录的最大权限
匿名用户默认在/var/ftp/pub/上传数据,这里给他切换到ddd目录,给他所有权限

【Linux网络服务】FTP服务

(4)开启ftp服务

【Linux网络服务】FTP服务

(5)匿名访问测试一
在服务端写入数据,客户端查看下载数据(也许要关闭防火墙)

【Linux网络服务】FTP服务
【Linux网络服务】FTP服务
【Linux网络服务】FTP服务
【Linux网络服务】FTP服务
【Linux网络服务】FTP服务

【Linux网络服务】FTP服务
【Linux网络服务】FTP服务

2.2实验二:设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)

(1)修改配置文件vim /etc/vsftpd/vsftpd.conf

【Linux网络服务】FTP服务
【Linux网络服务】FTP服务

(2)重启服务

systemctl restart vsftpd

(3)切换成本地用户,上传数据下载数据

【Linux网络服务】FTP服务
【Linux网络服务】FTP服务

2.3实验三: 启用用户列表文件,设置白名单或者黑名单

(1)修改配置用户列表文件vim /etc/vsftpd/user_list

【Linux网络服务】FTP服务

(2)修改ftp配置文件vim /etc/vsftpd/vsftpd.conf

【Linux网络服务】FTP服务
【Linux网络服务】FTP服务
黑名单反过来,用户列表里面的无法登录,不在里面的可以登录

2.4实验四:修改匿名用户、本地用户登录的默认根目录

修改ftp配置文件vim /etc/vsftpd/vsftpd.conf
【Linux网络服务】FTP服务
【Linux网络服务】FTP服务
【Linux网络服务】FTP服务