Linux之FTP服务

一、FTP服务介绍

FTP(File Transfer Protocol)是一种应用非常广泛并且古老的一个互联网文件传输协议。

Linux之FTP服务_第1张图片
ftp.png
  • 主要用于互联网中文件的双向传输(上传/下载)、文件共享

  • 跨平台 Linux、Windows

  • FTP是C/S架构,拥有一个客户端和服务端,使用TCP协议作为底层传输协议,提供可靠的数据传输

  • FTP的默认端口 21号(命令端口) 20号(数据端口)

二、FTP服务的两种工作模式

  • 主动模式
Linux之FTP服务_第2张图片
主动模式.png
  1. 客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务的的21号端口发起请求

  2. 服务端的21号命令端口响应客户端的随机命令端口

  3. 服务端的20号端口主动请求连接客户端的随机数据端口

  4. 客户端的随机数据端口进行确认

  • 被动模式
Linux之FTP服务_第3张图片
被动模式.png
  1. 客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务的的21号端口发起请求

  2. 服务端的21号命令端口响应客户端的随机命令端口

  3. 客户端主动连接服务端打开的大于1023的随机端口

  4. 服务端进行确认

思考1:

FTP的主动模式好还是被动模式好?

三、FTP服务的客户端工具

  • Linux:ftp、lftp

  • Windows:FileZilla、IE、Chrome、Firefox

  • lftp和ftp工具区别:lftp可以批量并且下载目录

lftp localhost:~> mirror remote local  下载整个目录到本地
lftp localhost:~> mirror -R local remote  rename 上传整个目录到远程同时可以重命名

四、FTP服务的基本配置

搭建服务的思路:

  • 关闭防火墙和selinux

  • 配置yum源

  • 软件三步曲

  • 了解配置文件

  • 根据需求通过修改配置文件完成服务的搭建

  • 启动服务,开机自启动

  • 测试验证

1. FTP服务的基本应用

需求1:允许匿名用户上传文件
需求2:下载其他匿名用户的文件
需求3:开启本地用户消息功能
需求4:禁锢本地用户的家,只能在自己的家中活动
需求5:指定匿名用户和本地用户上传文件的目录

2. FTP服务的访问控制

  • FTP服务的自身访问控制

  • FTP服务的网络访问控制

    • 支持tcp_wrappers

    • 写法

vsftpd:all                        全部拒绝
vsftpd:all  EXCEPT 192.168.0.2    拒绝所有除了192.168.0.2  
vsftpd:192.168.0.254      拒绝单个ip地址=hosts.allow文件里增加vsftpd:192.168.0.254:deny
vsftpd:192.168.0.0/255.255.255.0   拒绝某个网段
vsftpd:192.168.0.0/255.255.255.0 EXCEPT 192.168.0.254   拒绝某个网段,但是除了某个ip地址

注意:子网掩码不支持192.168.0.0/24这种写法

你可能感兴趣的:(Linux之FTP服务)